1、fragment的使用封裝(上)

轉載請註明出處:http://blog.csdn.net/q649381130/article/details/51340544

fragment(碎片)出來已經有很長一段時間,網上關於介紹其生命週期,使用方式,api的博客非常多,也講解的非常詳細,感謝互聯網的分享精神以及無數前輩大牛們的無私奉獻。

本文主要是仿照微信設置頁面,通過Fragment實現幾大欄目頁面的切換顯示。其實用Activity也可以實現類似的效果,但是與Activity相比,Fragment切換效果更流暢,用戶體驗更佳。

雖然本文並未體現,fragment的另外一個優勢是可以將複雜頁面的功能拆分,便於後期維護修改。比如優酷主頁面: 
優酷主頁 
將該頁面拆分後,可分爲頂部banner版塊,下面的頻道入口版塊,以及接下來各個頻道推薦版塊。每個版塊都用一個fragment表示,我們只需要在佈局添加fragment即可,這樣既實現了佈局頁面的拆分,更避免了一大堆互相沒關聯的代碼”冗餘堆積”在首頁Activity中,對於一支有代碼潔癖的猿來說,無疑是人生一大樂事。使用方法很簡單,代碼奉上:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial; "> <fragment
        android:name=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"com.example.myfragment.banner"</span>
        android:id=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"@+id/myfragment_1"</span>
        android:layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"match_parent"</span>
        android:layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"wrap_content"</span>
         /></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li></ul>

ps:下面這段代碼並未出現在本博客demo中。

2、效果展示

以下是本demo的效果展示圖: 
demo

請自動忽視ui,後面將會有一篇博客詳細介紹高仿微信佈局,既然是一個系列肯定會有後續的啦啦,當然僅僅是簡單的布個局各位看官估計會要求退票(憤怒的羣衆:少賣關子,看我雞蛋)。

demo功能很簡單,在主頁面有個列表展示頁SettingHome,點擊可以打開相對應的分頁面。本demo中,列表頁與分頁面都是用fragment實現的,所以切換效果很流暢。

3、FragmentManager和FragmentTransaction

建議使用v4包中的fragment和fragmentActivity,使用V4包,一定要使用v4包,重要事情說三遍。 
因爲fragment是谷歌在Android 3.0推出的,使用v4包可以實現向下兼容。

FragmentManager

想要操作fragment,就需要先認識FragmentManager,故名思議,就是fragment的管理類。

在fragmentActivity中調用getSupportFragmentManager()就可以獲取到當前頁面的fragment管理類。 
ps:普通的activ是調用getFragmentManager()。

FragmentManager在fragmentActivity的獲取:

FragmentManager mFragmentManager = getSupportFragmentManager()

FragmentTransaction

使用FragmentTransaction就可以實現碎片(fragment也叫碎片)的顯示、隱藏、添加或者替換,強烈建議不要使用replace()操作碎片,採用hide(),show()相結合的方式取代替換方法,因爲每次replace都是對fragment進行銷燬生成,造成了不必要的開支,除非你真的確定不會再使用被銷燬的fragment實例。

FragmentTransaction的獲取:

FragmentTransaction beginTransaction = mFragmentManager.beginTransaction();

添加fragment:

使用FragmentTransaction 的.add()方法就可以將指定的fragment添加到頁面中,最後別忘了commit:

mFragmentManager.beginTransaction()
                .add(R.id.rl_container_main,showFragment, "tag")
                .commitAllowingStateLoss();

在上述代碼中第一個參數表示fragment需要依附的父容器的佈局id,第二個參數表示需要依附的fragment的實例,第三個參數表示給當前fragment加個唯一標示,便於我們再次獲取,獲取方法如下:

mFragmentManager.findFragmentByTag("tag");

這樣就可以獲取到之前我們標記爲tag的fragment的實例,如果不存在該實例會返回null。

4、操作封裝

基類頁面佈局

佈局很簡單,只有一個RelativeLayout ,用於盛裝需要顯示的fragment實例,設置一個佈局id即可;

<code class="hljs bash has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial; "><RelativeLayout xmlns:android=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"http://schemas.android.com/apk/res/android"</span>
    xmlns:tools=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"http://schemas.android.com/tools"</span>
    android:layout_width=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"match_parent"</span>
    android:layout_height=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"match_parent"</span>
    android:id=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"@+id/rl_container_main"</span>
    tools:context=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box; ">${relativePackage}</span>.<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box; ">${activityClass}</span>"</span> >
</RelativeLayout>
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li></ul>

BaseFragmentActivity封裝

爲方便操作,我們弄一個全局變量mCurrentFragment保存當前顯示的fragment實例。 
採用fragment的class名作爲tag,這樣做適用於每一個fragment類型都只顯示一次,雖然代碼多了很多,但是可以用於最底層的封裝,試用於任何場景(前提是每個Fragment類只顯示一個,如果一個類有倆個實例的需要顯示,就無法使用)。

在這裏我們重寫了onSaveInstanceState(Bundle arg0)方法,讓其空實現,防止當用戶按Home建後,由於程序長期處於後來,Activity被前保存了fragment狀態,再次切換到前臺重新執行onCreate()方法,導致fragment重疊顯示。

其實我們也可以用自定義字符串做tag,代碼可以節儉很多,但是具有一定的侷限性,下一篇博客將會介紹另外的方法(主要以封裝爲主)。

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">abstract</span> <span class="hljs-class" style="box-sizing: border-box; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">BaseFragmentActivity</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">FragmentActivity</span>
{</span>
    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/**
     * fragment管理器
     */</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> FragmentManager mFragmentManager;

    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/** 
     * 當前顯示的碎片 
     */</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> Fragment mCurrentFragment;

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">onCreate</span>(Bundle savedInstanceState)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">super</span>.onCreate(savedInstanceState);
        setContentView(R.layout.empty_activity);

        mFragmentManager = getSupportFragmentManager();

        initActionBar();

        initFragment();
    }

      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">//重寫該方法,使其空實現</span>
    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">onSaveInstanceState</span>(Bundle arg0)
    {
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// super.onSaveInstanceState(arg0);</span>
    }

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">initActionBar</span>()
    {

    }

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">abstract</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">initFragment</span>();

    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/**
     * 添加並顯示fragment
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @param</span> showFragment  需要添加的fragment
     */</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <T extends Fragment> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">addFragment</span>(Fragment showFragment)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (showFragment == mCurrentFragment)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span>;
        }

        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">//驗證是否已經顯示過當前類</span>
        Fragment fragment = findFragmentByTag(showFragment.getClass());
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (fragment != <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>)
        {
            replaceFragment(fragment);

            mCurrentFragment = fragment;

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span>;
        }

        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">//首次依附fragment判斷</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (mCurrentFragment == <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>)
        {
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">//該頁面第一次依附fragment,直接添加</span>
            mFragmentManager.beginTransaction()
                    .add(R.id.rl_container_main, showFragment, 
                        showFragment.getClass().getName())
                    .commitAllowingStateLoss();
        } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">else</span>
        {
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">//當前有其他頁面顯示,調用顯示隱藏組合拳</span>
            mFragmentManager.beginTransaction()
                    .add( R.id.rl_container_main, showFragment, 
                         showFragment.getClass().getName())
                    .hide(mCurrentFragment)
                    .commitAllowingStateLoss();
        }

        mCurrentFragment = showFragment;
    }

    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/**
     * 顯示指定fragment
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @param</span> fragmentClass 需要顯示的fragment的類
     */</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <T extends Fragment> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">replaceFragment</span>(Class<T> fragmentClass)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (mCurrentFragment == <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span>;
        }

        Fragment showFragment = 
        mFragmentManager.findFragmentByTag(fragmentClass.getName());
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (showFragment == <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>)
        {
            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">//首次顯示,先創建實例</span>
            showFragment = newInstanceFragment(fragmentClass);
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (showFragment == <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>)
            {
                <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span>;
            }

            addFragment(showFragment);

        } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">else</span>
        {
            replaceFragment(showFragment);
        }

        mCurrentFragment = showFragment;
    }

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">replaceFragment</span>(Fragment showFragment)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (showFragment == <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span> || showFragment == mCurrentFragment)
        {
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span>;
        }

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (mCurrentFragment == <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>)
        {
            addFragment(showFragment);
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span>;
        }

        mFragmentManager.beginTransaction()
                        .show(showFragment)
                        .hide(mCurrentFragment)
                        .commitAllowingStateLoss();
    }

    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/**
     * 創建fragment實例
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @param</span> fragmentClass
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @return</span>
     */</span>
    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@SuppressWarnings</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"unchecked"</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">private</span> <T extends Fragment> T <span class="hljs-title" style="box-sizing: border-box; ">newInstanceFragment</span>(Class<T> fragmentClass)
    {
        Fragment showFragment = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">null</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">try</span>
        {
            showFragment = fragmentClass.newInstance();
        } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">catch</span> (Exception e)
        {
            e.printStackTrace();
        }

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span> (T) showFragment;
    }

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@SuppressWarnings</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"unchecked"</span>)
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <T extends Fragment> T <span class="hljs-title" style="box-sizing: border-box; ">findFragmentByTag</span>(Class<T> fragmentClass)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span> (T) mFragmentManager.findFragmentByTag(fragmentClass.getName());
    }
}</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li><li style="box-sizing: border-box; padding: 0px 5px; ">25</li><li style="box-sizing: border-box; padding: 0px 5px; ">26</li><li style="box-sizing: border-box; padding: 0px 5px; ">27</li><li style="box-sizing: border-box; padding: 0px 5px; ">28</li><li style="box-sizing: border-box; padding: 0px 5px; ">29</li><li style="box-sizing: border-box; padding: 0px 5px; ">30</li><li style="box-sizing: border-box; padding: 0px 5px; ">31</li><li style="box-sizing: border-box; padding: 0px 5px; ">32</li><li style="box-sizing: border-box; padding: 0px 5px; ">33</li><li style="box-sizing: border-box; padding: 0px 5px; ">34</li><li style="box-sizing: border-box; padding: 0px 5px; ">35</li><li style="box-sizing: border-box; padding: 0px 5px; ">36</li><li style="box-sizing: border-box; padding: 0px 5px; ">37</li><li style="box-sizing: border-box; padding: 0px 5px; ">38</li><li style="box-sizing: border-box; padding: 0px 5px; ">39</li><li style="box-sizing: border-box; padding: 0px 5px; ">40</li><li style="box-sizing: border-box; padding: 0px 5px; ">41</li><li style="box-sizing: border-box; padding: 0px 5px; ">42</li><li style="box-sizing: border-box; padding: 0px 5px; ">43</li><li style="box-sizing: border-box; padding: 0px 5px; ">44</li><li style="box-sizing: border-box; padding: 0px 5px; ">45</li><li style="box-sizing: border-box; padding: 0px 5px; ">46</li><li style="box-sizing: border-box; padding: 0px 5px; ">47</li><li style="box-sizing: border-box; padding: 0px 5px; ">48</li><li style="box-sizing: border-box; padding: 0px 5px; ">49</li><li style="box-sizing: border-box; padding: 0px 5px; ">50</li><li style="box-sizing: border-box; padding: 0px 5px; ">51</li><li style="box-sizing: border-box; padding: 0px 5px; ">52</li><li style="box-sizing: border-box; padding: 0px 5px; ">53</li><li style="box-sizing: border-box; padding: 0px 5px; ">54</li><li style="box-sizing: border-box; padding: 0px 5px; ">55</li><li style="box-sizing: border-box; padding: 0px 5px; ">56</li><li style="box-sizing: border-box; padding: 0px 5px; ">57</li><li style="box-sizing: border-box; padding: 0px 5px; ">58</li><li style="box-sizing: border-box; padding: 0px 5px; ">59</li><li style="box-sizing: border-box; padding: 0px 5px; ">60</li><li style="box-sizing: border-box; padding: 0px 5px; ">61</li><li style="box-sizing: border-box; padding: 0px 5px; ">62</li><li style="box-sizing: border-box; padding: 0px 5px; ">63</li><li style="box-sizing: border-box; padding: 0px 5px; ">64</li><li style="box-sizing: border-box; padding: 0px 5px; ">65</li><li style="box-sizing: border-box; padding: 0px 5px; ">66</li><li style="box-sizing: border-box; padding: 0px 5px; ">67</li><li style="box-sizing: border-box; padding: 0px 5px; ">68</li><li style="box-sizing: border-box; padding: 0px 5px; ">69</li><li style="box-sizing: border-box; padding: 0px 5px; ">70</li><li style="box-sizing: border-box; padding: 0px 5px; ">71</li><li style="box-sizing: border-box; padding: 0px 5px; ">72</li><li style="box-sizing: border-box; padding: 0px 5px; ">73</li><li style="box-sizing: border-box; padding: 0px 5px; ">74</li><li style="box-sizing: border-box; padding: 0px 5px; ">75</li><li style="box-sizing: border-box; padding: 0px 5px; ">76</li><li style="box-sizing: border-box; padding: 0px 5px; ">77</li><li style="box-sizing: border-box; padding: 0px 5px; ">78</li><li style="box-sizing: border-box; padding: 0px 5px; ">79</li><li style="box-sizing: border-box; padding: 0px 5px; ">80</li><li style="box-sizing: border-box; padding: 0px 5px; ">81</li><li style="box-sizing: border-box; padding: 0px 5px; ">82</li><li style="box-sizing: border-box; padding: 0px 5px; ">83</li><li style="box-sizing: border-box; padding: 0px 5px; ">84</li><li style="box-sizing: border-box; padding: 0px 5px; ">85</li><li style="box-sizing: border-box; padding: 0px 5px; ">86</li><li style="box-sizing: border-box; padding: 0px 5px; ">87</li><li style="box-sizing: border-box; padding: 0px 5px; ">88</li><li style="box-sizing: border-box; padding: 0px 5px; ">89</li><li style="box-sizing: border-box; padding: 0px 5px; ">90</li><li style="box-sizing: border-box; padding: 0px 5px; ">91</li><li style="box-sizing: border-box; padding: 0px 5px; ">92</li><li style="box-sizing: border-box; padding: 0px 5px; ">93</li><li style="box-sizing: border-box; padding: 0px 5px; ">94</li><li style="box-sizing: border-box; padding: 0px 5px; ">95</li><li style="box-sizing: border-box; padding: 0px 5px; ">96</li><li style="box-sizing: border-box; padding: 0px 5px; ">97</li><li style="box-sizing: border-box; padding: 0px 5px; ">98</li><li style="box-sizing: border-box; padding: 0px 5px; ">99</li><li style="box-sizing: border-box; padding: 0px 5px; ">100</li><li style="box-sizing: border-box; padding: 0px 5px; ">101</li><li style="box-sizing: border-box; padding: 0px 5px; ">102</li><li style="box-sizing: border-box; padding: 0px 5px; ">103</li><li style="box-sizing: border-box; padding: 0px 5px; ">104</li><li style="box-sizing: border-box; padding: 0px 5px; ">105</li><li style="box-sizing: border-box; padding: 0px 5px; ">106</li><li style="box-sizing: border-box; padding: 0px 5px; ">107</li><li style="box-sizing: border-box; padding: 0px 5px; ">108</li><li style="box-sizing: border-box; padding: 0px 5px; ">109</li><li style="box-sizing: border-box; padding: 0px 5px; ">110</li><li style="box-sizing: border-box; padding: 0px 5px; ">111</li><li style="box-sizing: border-box; padding: 0px 5px; ">112</li><li style="box-sizing: border-box; padding: 0px 5px; ">113</li><li style="box-sizing: border-box; padding: 0px 5px; ">114</li><li style="box-sizing: border-box; padding: 0px 5px; ">115</li><li style="box-sizing: border-box; padding: 0px 5px; ">116</li><li style="box-sizing: border-box; padding: 0px 5px; ">117</li><li style="box-sizing: border-box; padding: 0px 5px; ">118</li><li style="box-sizing: border-box; padding: 0px 5px; ">119</li><li style="box-sizing: border-box; padding: 0px 5px; ">120</li><li style="box-sizing: border-box; padding: 0px 5px; ">121</li><li style="box-sizing: border-box; padding: 0px 5px; ">122</li><li style="box-sizing: border-box; padding: 0px 5px; ">123</li><li style="box-sizing: border-box; padding: 0px 5px; ">124</li><li style="box-sizing: border-box; padding: 0px 5px; ">125</li><li style="box-sizing: border-box; padding: 0px 5px; ">126</li><li style="box-sizing: border-box; padding: 0px 5px; ">127</li><li style="box-sizing: border-box; padding: 0px 5px; ">128</li><li style="box-sizing: border-box; padding: 0px 5px; ">129</li><li style="box-sizing: border-box; padding: 0px 5px; ">130</li><li style="box-sizing: border-box; padding: 0px 5px; ">131</li><li style="box-sizing: border-box; padding: 0px 5px; ">132</li><li style="box-sizing: border-box; padding: 0px 5px; ">133</li><li style="box-sizing: border-box; padding: 0px 5px; ">134</li><li style="box-sizing: border-box; padding: 0px 5px; ">135</li><li style="box-sizing: border-box; padding: 0px 5px; ">136</li><li style="box-sizing: border-box; padding: 0px 5px; ">137</li><li style="box-sizing: border-box; padding: 0px 5px; ">138</li><li style="box-sizing: border-box; padding: 0px 5px; ">139</li><li style="box-sizing: border-box; padding: 0px 5px; ">140</li><li style="box-sizing: border-box; padding: 0px 5px; ">141</li><li style="box-sizing: border-box; padding: 0px 5px; ">142</li><li style="box-sizing: border-box; padding: 0px 5px; ">143</li><li style="box-sizing: border-box; padding: 0px 5px; ">144</li><li style="box-sizing: border-box; padding: 0px 5px; ">145</li><li style="box-sizing: border-box; padding: 0px 5px; ">146</li><li style="box-sizing: border-box; padding: 0px 5px; ">147</li><li style="box-sizing: border-box; padding: 0px 5px; ">148</li><li style="box-sizing: border-box; padding: 0px 5px; ">149</li><li style="box-sizing: border-box; padding: 0px 5px; ">150</li><li style="box-sizing: border-box; padding: 0px 5px; ">151</li><li style="box-sizing: border-box; padding: 0px 5px; ">152</li><li style="box-sizing: border-box; padding: 0px 5px; ">153</li><li style="box-sizing: border-box; padding: 0px 5px; ">154</li><li style="box-sizing: border-box; padding: 0px 5px; ">155</li><li style="box-sizing: border-box; padding: 0px 5px; ">156</li><li style="box-sizing: border-box; padding: 0px 5px; ">157</li><li style="box-sizing: border-box; padding: 0px 5px; ">158</li><li style="box-sizing: border-box; padding: 0px 5px; ">159</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li><li style="box-sizing: border-box; padding: 0px 5px; ">25</li><li style="box-sizing: border-box; padding: 0px 5px; ">26</li><li style="box-sizing: border-box; padding: 0px 5px; ">27</li><li style="box-sizing: border-box; padding: 0px 5px; ">28</li><li style="box-sizing: border-box; padding: 0px 5px; ">29</li><li style="box-sizing: border-box; padding: 0px 5px; ">30</li><li style="box-sizing: border-box; padding: 0px 5px; ">31</li><li style="box-sizing: border-box; padding: 0px 5px; ">32</li><li style="box-sizing: border-box; padding: 0px 5px; ">33</li><li style="box-sizing: border-box; padding: 0px 5px; ">34</li><li style="box-sizing: border-box; padding: 0px 5px; ">35</li><li style="box-sizing: border-box; padding: 0px 5px; ">36</li><li style="box-sizing: border-box; padding: 0px 5px; ">37</li><li style="box-sizing: border-box; padding: 0px 5px; ">38</li><li style="box-sizing: border-box; padding: 0px 5px; ">39</li><li style="box-sizing: border-box; padding: 0px 5px; ">40</li><li style="box-sizing: border-box; padding: 0px 5px; ">41</li><li style="box-sizing: border-box; padding: 0px 5px; ">42</li><li style="box-sizing: border-box; padding: 0px 5px; ">43</li><li style="box-sizing: border-box; padding: 0px 5px; ">44</li><li style="box-sizing: border-box; padding: 0px 5px; ">45</li><li style="box-sizing: border-box; padding: 0px 5px; ">46</li><li style="box-sizing: border-box; padding: 0px 5px; ">47</li><li style="box-sizing: border-box; padding: 0px 5px; ">48</li><li style="box-sizing: border-box; padding: 0px 5px; ">49</li><li style="box-sizing: border-box; padding: 0px 5px; ">50</li><li style="box-sizing: border-box; padding: 0px 5px; ">51</li><li style="box-sizing: border-box; padding: 0px 5px; ">52</li><li style="box-sizing: border-box; padding: 0px 5px; ">53</li><li style="box-sizing: border-box; padding: 0px 5px; ">54</li><li style="box-sizing: border-box; padding: 0px 5px; ">55</li><li style="box-sizing: border-box; padding: 0px 5px; ">56</li><li style="box-sizing: border-box; padding: 0px 5px; ">57</li><li style="box-sizing: border-box; padding: 0px 5px; ">58</li><li style="box-sizing: border-box; padding: 0px 5px; ">59</li><li style="box-sizing: border-box; padding: 0px 5px; ">60</li><li style="box-sizing: border-box; padding: 0px 5px; ">61</li><li style="box-sizing: border-box; padding: 0px 5px; ">62</li><li style="box-sizing: border-box; padding: 0px 5px; ">63</li><li style="box-sizing: border-box; padding: 0px 5px; ">64</li><li style="box-sizing: border-box; padding: 0px 5px; ">65</li><li style="box-sizing: border-box; padding: 0px 5px; ">66</li><li style="box-sizing: border-box; padding: 0px 5px; ">67</li><li style="box-sizing: border-box; padding: 0px 5px; ">68</li><li style="box-sizing: border-box; padding: 0px 5px; ">69</li><li style="box-sizing: border-box; padding: 0px 5px; ">70</li><li style="box-sizing: border-box; padding: 0px 5px; ">71</li><li style="box-sizing: border-box; padding: 0px 5px; ">72</li><li style="box-sizing: border-box; padding: 0px 5px; ">73</li><li style="box-sizing: border-box; padding: 0px 5px; ">74</li><li style="box-sizing: border-box; padding: 0px 5px; ">75</li><li style="box-sizing: border-box; padding: 0px 5px; ">76</li><li style="box-sizing: border-box; padding: 0px 5px; ">77</li><li style="box-sizing: border-box; padding: 0px 5px; ">78</li><li style="box-sizing: border-box; padding: 0px 5px; ">79</li><li style="box-sizing: border-box; padding: 0px 5px; ">80</li><li style="box-sizing: border-box; padding: 0px 5px; ">81</li><li style="box-sizing: border-box; padding: 0px 5px; ">82</li><li style="box-sizing: border-box; padding: 0px 5px; ">83</li><li style="box-sizing: border-box; padding: 0px 5px; ">84</li><li style="box-sizing: border-box; padding: 0px 5px; ">85</li><li style="box-sizing: border-box; padding: 0px 5px; ">86</li><li style="box-sizing: border-box; padding: 0px 5px; ">87</li><li style="box-sizing: border-box; padding: 0px 5px; ">88</li><li style="box-sizing: border-box; padding: 0px 5px; ">89</li><li style="box-sizing: border-box; padding: 0px 5px; ">90</li><li style="box-sizing: border-box; padding: 0px 5px; ">91</li><li style="box-sizing: border-box; padding: 0px 5px; ">92</li><li style="box-sizing: border-box; padding: 0px 5px; ">93</li><li style="box-sizing: border-box; padding: 0px 5px; ">94</li><li style="box-sizing: border-box; padding: 0px 5px; ">95</li><li style="box-sizing: border-box; padding: 0px 5px; ">96</li><li style="box-sizing: border-box; padding: 0px 5px; ">97</li><li style="box-sizing: border-box; padding: 0px 5px; ">98</li><li style="box-sizing: border-box; padding: 0px 5px; ">99</li><li style="box-sizing: border-box; padding: 0px 5px; ">100</li><li style="box-sizing: border-box; padding: 0px 5px; ">101</li><li style="box-sizing: border-box; padding: 0px 5px; ">102</li><li style="box-sizing: border-box; padding: 0px 5px; ">103</li><li style="box-sizing: border-box; padding: 0px 5px; ">104</li><li style="box-sizing: border-box; padding: 0px 5px; ">105</li><li style="box-sizing: border-box; padding: 0px 5px; ">106</li><li style="box-sizing: border-box; padding: 0px 5px; ">107</li><li style="box-sizing: border-box; padding: 0px 5px; ">108</li><li style="box-sizing: border-box; padding: 0px 5px; ">109</li><li style="box-sizing: border-box; padding: 0px 5px; ">110</li><li style="box-sizing: border-box; padding: 0px 5px; ">111</li><li style="box-sizing: border-box; padding: 0px 5px; ">112</li><li style="box-sizing: border-box; padding: 0px 5px; ">113</li><li style="box-sizing: border-box; padding: 0px 5px; ">114</li><li style="box-sizing: border-box; padding: 0px 5px; ">115</li><li style="box-sizing: border-box; padding: 0px 5px; ">116</li><li style="box-sizing: border-box; padding: 0px 5px; ">117</li><li style="box-sizing: border-box; padding: 0px 5px; ">118</li><li style="box-sizing: border-box; padding: 0px 5px; ">119</li><li style="box-sizing: border-box; padding: 0px 5px; ">120</li><li style="box-sizing: border-box; padding: 0px 5px; ">121</li><li style="box-sizing: border-box; padding: 0px 5px; ">122</li><li style="box-sizing: border-box; padding: 0px 5px; ">123</li><li style="box-sizing: border-box; padding: 0px 5px; ">124</li><li style="box-sizing: border-box; padding: 0px 5px; ">125</li><li style="box-sizing: border-box; padding: 0px 5px; ">126</li><li style="box-sizing: border-box; padding: 0px 5px; ">127</li><li style="box-sizing: border-box; padding: 0px 5px; ">128</li><li style="box-sizing: border-box; padding: 0px 5px; ">129</li><li style="box-sizing: border-box; padding: 0px 5px; ">130</li><li style="box-sizing: border-box; padding: 0px 5px; ">131</li><li style="box-sizing: border-box; padding: 0px 5px; ">132</li><li style="box-sizing: border-box; padding: 0px 5px; ">133</li><li style="box-sizing: border-box; padding: 0px 5px; ">134</li><li style="box-sizing: border-box; padding: 0px 5px; ">135</li><li style="box-sizing: border-box; padding: 0px 5px; ">136</li><li style="box-sizing: border-box; padding: 0px 5px; ">137</li><li style="box-sizing: border-box; padding: 0px 5px; ">138</li><li style="box-sizing: border-box; padding: 0px 5px; ">139</li><li style="box-sizing: border-box; padding: 0px 5px; ">140</li><li style="box-sizing: border-box; padding: 0px 5px; ">141</li><li style="box-sizing: border-box; padding: 0px 5px; ">142</li><li style="box-sizing: border-box; padding: 0px 5px; ">143</li><li style="box-sizing: border-box; padding: 0px 5px; ">144</li><li style="box-sizing: border-box; padding: 0px 5px; ">145</li><li style="box-sizing: border-box; padding: 0px 5px; ">146</li><li style="box-sizing: border-box; padding: 0px 5px; ">147</li><li style="box-sizing: border-box; padding: 0px 5px; ">148</li><li style="box-sizing: border-box; padding: 0px 5px; ">149</li><li style="box-sizing: border-box; padding: 0px 5px; ">150</li><li style="box-sizing: border-box; padding: 0px 5px; ">151</li><li style="box-sizing: border-box; padding: 0px 5px; ">152</li><li style="box-sizing: border-box; padding: 0px 5px; ">153</li><li style="box-sizing: border-box; padding: 0px 5px; ">154</li><li style="box-sizing: border-box; padding: 0px 5px; ">155</li><li style="box-sizing: border-box; padding: 0px 5px; ">156</li><li style="box-sizing: border-box; padding: 0px 5px; ">157</li><li style="box-sizing: border-box; padding: 0px 5px; ">158</li><li style="box-sizing: border-box; padding: 0px 5px; ">159</li></ul>

5、使用

創建fragment類

本demo中除了SettingHomeFragment其他的碎片幾乎類似,此處只貼貼其中一個的代碼:

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial; ">**
 * 個人信息設置頁面
 * <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@author</span> 漆可
 * <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@date</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">2016</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">5</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">7</span> 下午<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">3</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">03</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">02</span>
 */
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-class" style="box-sizing: border-box; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">SettingPersonFragment</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">Fragment</span>
{</span>
    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Nullable</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> View <span class="hljs-title" style="box-sizing: border-box; ">onCreateView</span>(LayoutInflater inflater, @Nullable ViewGroup container,
            @Nullable Bundle savedInstanceState)
    {
        TextView textView = <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">new</span> TextView(getContext());

        textView.setLayoutParams(
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">new</span> LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        textView.setGravity(Gravity.CENTER);

        textView.setTextSize(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box; ">24</span>);
        textView.setText(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"個人設置"</span>);

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span> textView;
    }
}</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li></ul>

繼承自BaseFragmentActivity的子類MainActivity

在MainActivity 中,先將列表頁面顯示出來,設置actionbar的返回按鈕事件,由於點擊頁面中的返回按鈕與手機返回鍵處理邏輯一樣,所以直接調用onBackPressed()方法,該方法需要重寫,當顯示列表頁面是,關閉mainactivity,當顯示其他頁面時,點擊返回按鈕切換到列表頁面。關於Fragment的操作就非常簡單了,調用以下倆個方法就行:

addFragment(Fragment fragment);添加一個Fragment實例並顯示 
replaceFragment(Class fragmentClass); 切換顯示指定類型的Fragment

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-class" style="box-sizing: border-box; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">MainActivity</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">BaseFragmentActivity</span>
{</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">private</span> ActionBar mActionBar;

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">initActionBar</span>()
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">super</span>.initActionBar();

        mActionBar = getActionBar();

        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 設置顯示返回按鈕</span>
        mActionBar.setDisplayHomeAsUpEnabled(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">true</span>);
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 設置不顯示應用圖標</span>
        mActionBar.setDisplayShowHomeEnabled(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">false</span>);

        setActionBarTitle(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box; ">"設置"</span>);
    }

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">protected</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">initFragment</span>()
    {
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 初始顯示設置主頁</span>
        addFragment(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">new</span> SettingHomeFragment());
    }

    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/**
     * 設置頁面標題內容
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @author</span> 漆可
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @date</span> 2016-5-7 上午11:15:13  
     *<span class="hljs-javadoctag" style="color: rgb(102, 0, 102); box-sizing: border-box; "> @param</span> title
     */</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">setActionBarTitle</span>(String title)
    {
        mActionBar.setTitle(title);
    }

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">boolean</span> <span class="hljs-title" style="box-sizing: border-box; ">onOptionsItemSelected</span>(MenuItem item)
    {
        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 返回按鈕點擊事件</span>
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (item.getItemId() == android.R.id.home)
        {
            onBackPressed();
        }

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">super</span>.onOptionsItemSelected(item);
    }

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">onBackPressed</span>()
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">if</span> (mCurrentFragment <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">instanceof</span> SettingHomeFragment)
        {
            finish();
        } <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">else</span>
        {
            replaceFragment(SettingHomeFragment.class);
        }
    }

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <T extends Fragment> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">replaceFragment</span>(Class<T> fragmentClass)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">super</span>.replaceFragment(fragmentClass);
    }
}</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li><li style="box-sizing: border-box; padding: 0px 5px; ">25</li><li style="box-sizing: border-box; padding: 0px 5px; ">26</li><li style="box-sizing: border-box; padding: 0px 5px; ">27</li><li style="box-sizing: border-box; padding: 0px 5px; ">28</li><li style="box-sizing: border-box; padding: 0px 5px; ">29</li><li style="box-sizing: border-box; padding: 0px 5px; ">30</li><li style="box-sizing: border-box; padding: 0px 5px; ">31</li><li style="box-sizing: border-box; padding: 0px 5px; ">32</li><li style="box-sizing: border-box; padding: 0px 5px; ">33</li><li style="box-sizing: border-box; padding: 0px 5px; ">34</li><li style="box-sizing: border-box; padding: 0px 5px; ">35</li><li style="box-sizing: border-box; padding: 0px 5px; ">36</li><li style="box-sizing: border-box; padding: 0px 5px; ">37</li><li style="box-sizing: border-box; padding: 0px 5px; ">38</li><li style="box-sizing: border-box; padding: 0px 5px; ">39</li><li style="box-sizing: border-box; padding: 0px 5px; ">40</li><li style="box-sizing: border-box; padding: 0px 5px; ">41</li><li style="box-sizing: border-box; padding: 0px 5px; ">42</li><li style="box-sizing: border-box; padding: 0px 5px; ">43</li><li style="box-sizing: border-box; padding: 0px 5px; ">44</li><li style="box-sizing: border-box; padding: 0px 5px; ">45</li><li style="box-sizing: border-box; padding: 0px 5px; ">46</li><li style="box-sizing: border-box; padding: 0px 5px; ">47</li><li style="box-sizing: border-box; padding: 0px 5px; ">48</li><li style="box-sizing: border-box; padding: 0px 5px; ">49</li><li style="box-sizing: border-box; padding: 0px 5px; ">50</li><li style="box-sizing: border-box; padding: 0px 5px; ">51</li><li style="box-sizing: border-box; padding: 0px 5px; ">52</li><li style="box-sizing: border-box; padding: 0px 5px; ">53</li><li style="box-sizing: border-box; padding: 0px 5px; ">54</li><li style="box-sizing: border-box; padding: 0px 5px; ">55</li><li style="box-sizing: border-box; padding: 0px 5px; ">56</li><li style="box-sizing: border-box; padding: 0px 5px; ">57</li><li style="box-sizing: border-box; padding: 0px 5px; ">58</li><li style="box-sizing: border-box; padding: 0px 5px; ">59</li><li style="box-sizing: border-box; padding: 0px 5px; ">60</li><li style="box-sizing: border-box; padding: 0px 5px; ">61</li><li style="box-sizing: border-box; padding: 0px 5px; ">62</li><li style="box-sizing: border-box; padding: 0px 5px; ">63</li><li style="box-sizing: border-box; padding: 0px 5px; ">64</li><li style="box-sizing: border-box; padding: 0px 5px; ">65</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li><li style="box-sizing: border-box; padding: 0px 5px; ">25</li><li style="box-sizing: border-box; padding: 0px 5px; ">26</li><li style="box-sizing: border-box; padding: 0px 5px; ">27</li><li style="box-sizing: border-box; padding: 0px 5px; ">28</li><li style="box-sizing: border-box; padding: 0px 5px; ">29</li><li style="box-sizing: border-box; padding: 0px 5px; ">30</li><li style="box-sizing: border-box; padding: 0px 5px; ">31</li><li style="box-sizing: border-box; padding: 0px 5px; ">32</li><li style="box-sizing: border-box; padding: 0px 5px; ">33</li><li style="box-sizing: border-box; padding: 0px 5px; ">34</li><li style="box-sizing: border-box; padding: 0px 5px; ">35</li><li style="box-sizing: border-box; padding: 0px 5px; ">36</li><li style="box-sizing: border-box; padding: 0px 5px; ">37</li><li style="box-sizing: border-box; padding: 0px 5px; ">38</li><li style="box-sizing: border-box; padding: 0px 5px; ">39</li><li style="box-sizing: border-box; padding: 0px 5px; ">40</li><li style="box-sizing: border-box; padding: 0px 5px; ">41</li><li style="box-sizing: border-box; padding: 0px 5px; ">42</li><li style="box-sizing: border-box; padding: 0px 5px; ">43</li><li style="box-sizing: border-box; padding: 0px 5px; ">44</li><li style="box-sizing: border-box; padding: 0px 5px; ">45</li><li style="box-sizing: border-box; padding: 0px 5px; ">46</li><li style="box-sizing: border-box; padding: 0px 5px; ">47</li><li style="box-sizing: border-box; padding: 0px 5px; ">48</li><li style="box-sizing: border-box; padding: 0px 5px; ">49</li><li style="box-sizing: border-box; padding: 0px 5px; ">50</li><li style="box-sizing: border-box; padding: 0px 5px; ">51</li><li style="box-sizing: border-box; padding: 0px 5px; ">52</li><li style="box-sizing: border-box; padding: 0px 5px; ">53</li><li style="box-sizing: border-box; padding: 0px 5px; ">54</li><li style="box-sizing: border-box; padding: 0px 5px; ">55</li><li style="box-sizing: border-box; padding: 0px 5px; ">56</li><li style="box-sizing: border-box; padding: 0px 5px; ">57</li><li style="box-sizing: border-box; padding: 0px 5px; ">58</li><li style="box-sizing: border-box; padding: 0px 5px; ">59</li><li style="box-sizing: border-box; padding: 0px 5px; ">60</li><li style="box-sizing: border-box; padding: 0px 5px; ">61</li><li style="box-sizing: border-box; padding: 0px 5px; ">62</li><li style="box-sizing: border-box; padding: 0px 5px; ">63</li><li style="box-sizing: border-box; padding: 0px 5px; ">64</li><li style="box-sizing: border-box; padding: 0px 5px; ">65</li></ul>

列表顯示頁面

佈局就不貼了,在一個垂直的線性佈局中加入幾個textview即可。 
將textview設置點擊事件,點擊後進入相應的設置頁面,核心代碼就是調用mainActivity的 replaceFragment()方法。

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-class" style="box-sizing: border-box; "><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">class</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">SettingHomeFragment</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">extends</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">Fragment</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">implements</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102); ">OnClickListener</span>
{</span>
    <span class="hljs-javadoc" style="color: rgb(136, 0, 0); box-sizing: border-box; ">/**
     * 跟佈局view
     */</span>
    View mRootView;

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">private</span> MainActivity mActivity;

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Nullable</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> View <span class="hljs-title" style="box-sizing: border-box; ">onCreateView</span>(LayoutInflater inflater, @Nullable ViewGroup container,
            @Nullable Bundle savedInstanceState)
    {
        mRootView = inflater.inflate(R.layout.setting_home_fragment, container, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">false</span>);

        mActivity = (MainActivity) getActivity();

        setListener();

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">return</span> mRootView;
    }

    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">private</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">setListener</span>()
    {
        mRootView.findViewById(R.id.tv_person_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
        mRootView.findViewById(R.id.tv_album_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
        mRootView.findViewById(R.id.tv_collection_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
        mRootView.findViewById(R.id.tv_wallet_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
        mRootView.findViewById(R.id.tv_coupon_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
        mRootView.findViewById(R.id.tv_face_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
        mRootView.findViewById(R.id.tv_sysset_setting_home).setOnClickListener(<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">this</span>);
    }

    <span class="hljs-annotation" style="color: rgb(155, 133, 157); box-sizing: border-box; ">@Override</span>
    <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">public</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">void</span> <span class="hljs-title" style="box-sizing: border-box; ">onClick</span>(View v)
    {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">switch</span> (v.getId())
        {
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_person_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 個人信息設置</span>

            mActivity.replaceFragment(SettingPersonFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_album_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 相冊</span>

            mActivity.replaceFragment(SettingAlbumFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_collection_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 收藏</span>

            mActivity.replaceFragment(SettingCollectionFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_wallet_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 錢包</span>

            mActivity.replaceFragment(SettingWalletFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_coupon_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 卡卷</span>

            mActivity.replaceFragment(SettingCouponFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_face_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 表情</span>

            mActivity.replaceFragment(SettingFaceFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">case</span> R.id.tv_sysset_setting_home:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box; ">// 系統設置</span>

            mActivity.replaceFragment(SettingSysFragment.class);

            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;

        <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">default</span>:
            <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box; ">break</span>;
        }
    }
}</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li><li style="box-sizing: border-box; padding: 0px 5px; ">25</li><li style="box-sizing: border-box; padding: 0px 5px; ">26</li><li style="box-sizing: border-box; padding: 0px 5px; ">27</li><li style="box-sizing: border-box; padding: 0px 5px; ">28</li><li style="box-sizing: border-box; padding: 0px 5px; ">29</li><li style="box-sizing: border-box; padding: 0px 5px; ">30</li><li style="box-sizing: border-box; padding: 0px 5px; ">31</li><li style="box-sizing: border-box; padding: 0px 5px; ">32</li><li style="box-sizing: border-box; padding: 0px 5px; ">33</li><li style="box-sizing: border-box; padding: 0px 5px; ">34</li><li style="box-sizing: border-box; padding: 0px 5px; ">35</li><li style="box-sizing: border-box; padding: 0px 5px; ">36</li><li style="box-sizing: border-box; padding: 0px 5px; ">37</li><li style="box-sizing: border-box; padding: 0px 5px; ">38</li><li style="box-sizing: border-box; padding: 0px 5px; ">39</li><li style="box-sizing: border-box; padding: 0px 5px; ">40</li><li style="box-sizing: border-box; padding: 0px 5px; ">41</li><li style="box-sizing: border-box; padding: 0px 5px; ">42</li><li style="box-sizing: border-box; padding: 0px 5px; ">43</li><li style="box-sizing: border-box; padding: 0px 5px; ">44</li><li style="box-sizing: border-box; padding: 0px 5px; ">45</li><li style="box-sizing: border-box; padding: 0px 5px; ">46</li><li style="box-sizing: border-box; padding: 0px 5px; ">47</li><li style="box-sizing: border-box; padding: 0px 5px; ">48</li><li style="box-sizing: border-box; padding: 0px 5px; ">49</li><li style="box-sizing: border-box; padding: 0px 5px; ">50</li><li style="box-sizing: border-box; padding: 0px 5px; ">51</li><li style="box-sizing: border-box; padding: 0px 5px; ">52</li><li style="box-sizing: border-box; padding: 0px 5px; ">53</li><li style="box-sizing: border-box; padding: 0px 5px; ">54</li><li style="box-sizing: border-box; padding: 0px 5px; ">55</li><li style="box-sizing: border-box; padding: 0px 5px; ">56</li><li style="box-sizing: border-box; padding: 0px 5px; ">57</li><li style="box-sizing: border-box; padding: 0px 5px; ">58</li><li style="box-sizing: border-box; padding: 0px 5px; ">59</li><li style="box-sizing: border-box; padding: 0px 5px; ">60</li><li style="box-sizing: border-box; padding: 0px 5px; ">61</li><li style="box-sizing: border-box; padding: 0px 5px; ">62</li><li style="box-sizing: border-box; padding: 0px 5px; ">63</li><li style="box-sizing: border-box; padding: 0px 5px; ">64</li><li style="box-sizing: border-box; padding: 0px 5px; ">65</li><li style="box-sizing: border-box; padding: 0px 5px; ">66</li><li style="box-sizing: border-box; padding: 0px 5px; ">67</li><li style="box-sizing: border-box; padding: 0px 5px; ">68</li><li style="box-sizing: border-box; padding: 0px 5px; ">69</li><li style="box-sizing: border-box; padding: 0px 5px; ">70</li><li style="box-sizing: border-box; padding: 0px 5px; ">71</li><li style="box-sizing: border-box; padding: 0px 5px; ">72</li><li style="box-sizing: border-box; padding: 0px 5px; ">73</li><li style="box-sizing: border-box; padding: 0px 5px; ">74</li><li style="box-sizing: border-box; padding: 0px 5px; ">75</li><li style="box-sizing: border-box; padding: 0px 5px; ">76</li><li style="box-sizing: border-box; padding: 0px 5px; ">77</li><li style="box-sizing: border-box; padding: 0px 5px; ">78</li><li style="box-sizing: border-box; padding: 0px 5px; ">79</li><li style="box-sizing: border-box; padding: 0px 5px; ">80</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px; ">1</li><li style="box-sizing: border-box; padding: 0px 5px; ">2</li><li style="box-sizing: border-box; padding: 0px 5px; ">3</li><li style="box-sizing: border-box; padding: 0px 5px; ">4</li><li style="box-sizing: border-box; padding: 0px 5px; ">5</li><li style="box-sizing: border-box; padding: 0px 5px; ">6</li><li style="box-sizing: border-box; padding: 0px 5px; ">7</li><li style="box-sizing: border-box; padding: 0px 5px; ">8</li><li style="box-sizing: border-box; padding: 0px 5px; ">9</li><li style="box-sizing: border-box; padding: 0px 5px; ">10</li><li style="box-sizing: border-box; padding: 0px 5px; ">11</li><li style="box-sizing: border-box; padding: 0px 5px; ">12</li><li style="box-sizing: border-box; padding: 0px 5px; ">13</li><li style="box-sizing: border-box; padding: 0px 5px; ">14</li><li style="box-sizing: border-box; padding: 0px 5px; ">15</li><li style="box-sizing: border-box; padding: 0px 5px; ">16</li><li style="box-sizing: border-box; padding: 0px 5px; ">17</li><li style="box-sizing: border-box; padding: 0px 5px; ">18</li><li style="box-sizing: border-box; padding: 0px 5px; ">19</li><li style="box-sizing: border-box; padding: 0px 5px; ">20</li><li style="box-sizing: border-box; padding: 0px 5px; ">21</li><li style="box-sizing: border-box; padding: 0px 5px; ">22</li><li style="box-sizing: border-box; padding: 0px 5px; ">23</li><li style="box-sizing: border-box; padding: 0px 5px; ">24</li><li style="box-sizing: border-box; padding: 0px 5px; ">25</li><li style="box-sizing: border-box; padding: 0px 5px; ">26</li><li style="box-sizing: border-box; padding: 0px 5px; ">27</li><li style="box-sizing: border-box; padding: 0px 5px; ">28</li><li style="box-sizing: border-box; padding: 0px 5px; ">29</li><li style="box-sizing: border-box; padding: 0px 5px; ">30</li><li style="box-sizing: border-box; padding: 0px 5px; ">31</li><li style="box-sizing: border-box; padding: 0px 5px; ">32</li><li style="box-sizing: border-box; padding: 0px 5px; ">33</li><li style="box-sizing: border-box; padding: 0px 5px; ">34</li><li style="box-sizing: border-box; padding: 0px 5px; ">35</li><li style="box-sizing: border-box; padding: 0px 5px; ">36</li><li style="box-sizing: border-box; padding: 0px 5px; ">37</li><li style="box-sizing: border-box; padding: 0px 5px; ">38</li><li style="box-sizing: border-box; padding: 0px 5px; ">39</li><li style="box-sizing: border-box; padding: 0px 5px; ">40</li><li style="box-sizing: border-box; padding: 0px 5px; ">41</li><li style="box-sizing: border-box; padding: 0px 5px; ">42</li><li style="box-sizing: border-box; padding: 0px 5px; ">43</li><li style="box-sizing: border-box; padding: 0px 5px; ">44</li><li style="box-sizing: border-box; padding: 0px 5px; ">45</li><li style="box-sizing: border-box; padding: 0px 5px; ">46</li><li style="box-sizing: border-box; padding: 0px 5px; ">47</li><li style="box-sizing: border-box; padding: 0px 5px; ">48</li><li style="box-sizing: border-box; padding: 0px 5px; ">49</li><li style="box-sizing: border-box; padding: 0px 5px; ">50</li><li style="box-sizing: border-box; padding: 0px 5px; ">51</li><li style="box-sizing: border-box; padding: 0px 5px; ">52</li><li style="box-sizing: border-box; padding: 0px 5px; ">53</li><li style="box-sizing: border-box; padding: 0px 5px; ">54</li><li style="box-sizing: border-box; padding: 0px 5px; ">55</li><li style="box-sizing: border-box; padding: 0px 5px; ">56</li><li style="box-sizing: border-box; padding: 0px 5px; ">57</li><li style="box-sizing: border-box; padding: 0px 5px; ">58</li><li style="box-sizing: border-box; padding: 0px 5px; ">59</li><li style="box-sizing: border-box; padding: 0px 5px; ">60</li><li style="box-sizing: border-box; padding: 0px 5px; ">61</li><li style="box-sizing: border-box; padding: 0px 5px; ">62</li><li style="box-sizing: border-box; padding: 0px 5px; ">63</li><li style="box-sizing: border-box; padding: 0px 5px; ">64</li><li style="box-sizing: border-box; padding: 0px 5px; ">65</li><li style="box-sizing: border-box; padding: 0px 5px; ">66</li><li style="box-sizing: border-box; padding: 0px 5px; ">67</li><li style="box-sizing: border-box; padding: 0px 5px; ">68</li><li style="box-sizing: border-box; padding: 0px 5px; ">69</li><li style="box-sizing: border-box; padding: 0px 5px; ">70</li><li style="box-sizing: border-box; padding: 0px 5px; ">71</li><li style="box-sizing: border-box; padding: 0px 5px; ">72</li><li style="box-sizing: border-box; padding: 0px 5px; ">73</li><li style="box-sizing: border-box; padding: 0px 5px; ">74</li><li style="box-sizing: border-box; padding: 0px 5px; ">75</li><li style="box-sizing: border-box; padding: 0px 5px; ">76</li><li style="box-sizing: border-box; padding: 0px 5px; ">77</li><li style="box-sizing: border-box; padding: 0px 5px; ">78</li><li style="box-sizing: border-box; padding: 0px 5px; ">79</li><li style="box-sizing: border-box; padding: 0px 5px; ">80</li></ul>

至此,整篇博客寫完,不足之處歡迎批評指正。

發佈了14 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章