18c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banespackage android.support.v7.app; 28c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes/* 38c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * Copyright (C) 2016 The Android Open Source Project 48c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * 58c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 68c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * you may not use this file except in compliance with the License. 78c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * You may obtain a copy of the License at 88c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * 98c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * http://www.apache.org/licenses/LICENSE-2.0 108c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * 118c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * Unless required by applicable law or agreed to in writing, software 128c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * distributed under the License is distributed on an "AS IS" BASIS, 138c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 148c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * See the License for the specific language governing permissions and 158c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * limitations under the License. 168c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes */ 178c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 188c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.os.Bundle; 198c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.annotation.Nullable; 208c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.v4.app.Fragment; 218c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.v7.appcompat.test.R; 228c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.v7.testutils.BaseTestActivity; 238c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.LayoutInflater; 248c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.View; 258c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.ViewGroup; 268c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 278c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 288c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banespublic class FragmentContentIdActivity extends BaseTestActivity { 298c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 308c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 318c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes protected void onCreate(Bundle savedInstanceState) { 328c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes super.onCreate(savedInstanceState); 338c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 348c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes getSupportFragmentManager().beginTransaction() 358c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .add(android.R.id.content, new FragmentA()) 368c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .commit(); 378c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 388c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 398c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 408c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes protected int getContentViewLayoutResId() { 418c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes // We don't want to set a layout 428c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes return 0; 438c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 448c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 458c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public void replaceWithFragmentB() { 468c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes getSupportFragmentManager().beginTransaction() 478c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .replace(android.R.id.content, new FragmentB()) 488c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .commit(); 498c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 508c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 518c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public static class FragmentA extends Fragment { 528c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 538c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 548c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Nullable Bundle savedInstanceState) { 558c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes View view = new View(getContext()); 568c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes view.setId(R.id.fragment_a); 578c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes return view; 588c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 598c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 608c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 618c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public static class FragmentB extends Fragment { 628c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Nullable 638c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 648c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 658c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Nullable Bundle savedInstanceState) { 668c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes View view = new View(getContext()); 678c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes view.setId(R.id.fragment_b); 688c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes return view; 698c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 708c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 718c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 728c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes} 738c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 748c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 758c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 76