1aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn/* 2aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * Copyright (C) 2011 The Android Open Source Project 3aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * 4aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 5aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * you may not use this file except in compliance with the License. 6aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * You may obtain a copy of the License at 7aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * 8aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 9aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * 10aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * Unless required by applicable law or agreed to in writing, software 11aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 12aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * See the License for the specific language governing permissions and 14aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * limitations under the License. 15aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn */ 16aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackbornpackage com.example.android.supportv4.app; 17aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn 18a8640f125629a72a4c8805f30e30d7639450d9e9Dianne Hackborn//BEGIN_INCLUDE(complete) 19aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn 20aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackbornimport android.os.Bundle; 21def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas 22ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.fragment.app.FragmentActivity; 23ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.fragment.app.FragmentTabHost; 24aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn 25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport com.example.android.supportv4.R; 26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas 27aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn/** 28aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn * This demonstrates how you can implement switching between the tabs of a 291595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn * TabHost through fragments, using FragmentTabHost. 30aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn */ 31aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackbornpublic class FragmentTabs extends FragmentActivity { 32e36753eb5595c3e3bd17cf351eb9267e614d421aDianne Hackborn private FragmentTabHost mTabHost; 33aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn 34aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn @Override 35aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn protected void onCreate(Bundle savedInstanceState) { 36aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn super.onCreate(savedInstanceState); 37aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn 38aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn setContentView(R.layout.fragment_tabs); 391595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost); 401595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); 41aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn 421595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"), 43aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn FragmentStackSupport.CountingFragment.class, null); 441595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"), 45aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn LoaderCursorSupport.CursorLoaderListFragment.class, null); 461595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"), 47aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn LoaderCustomSupport.AppListFragment.class, null); 481595482897a3e236325648ad2a31d05b14c1236cDianne Hackborn mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"), 49aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn LoaderThrottleSupport.ThrottledLoaderListFragment.class, null); 50aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn } 51aefd2819f5d9f972a6c6dc33a3c66d6d2891d4e8Dianne Hackborn} 52a8640f125629a72a4c8805f30e30d7639450d9e9Dianne Hackborn//END_INCLUDE(complete) 53