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