zoukankan      html  css  js  c++  java
  • FragmentTabHost

    FragmentTabHost

    public class FragmentTabHost  extends TabHost implements TabHost.OnTabChangeListener

    java.lang.Object
       ↳ android.view.View
         ↳ android.view.ViewGroup
           ↳ android.widget.FrameLayout
             ↳ android.widget.TabHost
               ↳

    android.support.v4.app.FragmentTabHost

     Special TabHost that allows the use of Fragment objects for its tab content. When placing this in a view hierarchy, after inflating the hierarchy you must call setup(Context, FragmentManager, int) to complete the initialization of the tab host.

    example

    Here is a simple example of using a FragmentTabHost in an Activity:

    import com.example.android.supportv4.R;
    
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentTabHost;
    
    /**
     * This demonstrates how you can implement switching between the tabs of a
     * TabHost through fragments, using FragmentTabHost.
     */
    public class FragmentTabs extends FragmentActivity {
        private FragmentTabHost mTabHost;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            setContentView(R.layout.fragment_tabs);
            mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
            mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
    
            mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
                    FragmentStackSupport.CountingFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
                    LoaderCursorSupport.CursorLoaderListFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
                    LoaderCustomSupport.AppListFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
                    LoaderThrottleSupport.ThrottledLoaderListFragment.class, null);
        }
    }
    

     This can also be used inside of a fragment through fragment nesting:

    import com.example.android.supportv4.R;
    
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentTabHost;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    public class FragmentTabsFragmentSupport extends Fragment {
        private FragmentTabHost mTabHost;
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            mTabHost = new FragmentTabHost(getActivity());
            mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.fragment1);
    
            mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
                    FragmentStackSupport.CountingFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
                    LoaderCursorSupport.CursorLoaderListFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
                    LoaderCustomSupport.AppListFragment.class, null);
            mTabHost.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
                    LoaderThrottleSupport.ThrottledLoaderListFragment.class, null);
    
            return mTabHost;
        }
    
        @Override
        public void onDestroyView() {
            super.onDestroyView();
            mTabHost = null;
        }
    }
    
  • 相关阅读:
    C语言预处理
    C语言结构体对齐
    C语言共用体、大小端、枚举
    C语言内存分配方法。
    C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用
    C语言中函数的传入值与传出值
    #define与typedef在重定义类型中的区别
    宏定义在位运算中的运用
    wait函数
    exit()与_exit()区别
  • 原文地址:https://www.cnblogs.com/mbp-study/p/5643809.html
Copyright © 2011-2022 走看看