1、fragment的使用封装(上)
来源:互联网 发布:京东客服聊天说了淘宝 编辑:程序博客网 时间:2024/06/10 09:47
转载请注明出处: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的效果展示图:
请自动忽视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>
至此,整篇博客写完,不足之处欢迎批评指正。
- 1、fragment的使用封装(上)
- 1、fragment的使用封装(上)
- 2、fragment的使用封装(下)
- 2、fragment的使用封装(下)
- Android上Fragment的简单使用
- android (12) Fragment使用上
- fragment 上 使用camera
- 【封装】Fragment切换的方法
- fragment切换封装的方法
- Activity和fragment的封装
- Fragment---Fragment真正的完全解析(上)
- Fragment使用(1)
- Android Fragment的完全解析(上)
- Fragment真正的完全解析(上)
- Code Fragment-使用继承封装技术层次
- Android--Fragment的使用(二)-滑动Fragment的使用
- Android Fragment的使用(1)
- Android Fragment的使用(1)
- Java中的输入流
- 《小狗钱钱》
- 自定义类加载器实现常见功能
- PAT B 1013. 数素数 (20)
- <OJ_Sicily>Maze
- 1、fragment的使用封装(上)
- ny 116 士兵杀敌(二) -- 线段树(单点更新,区间求和)
- Java布局管理器组件
- Java synchronized关键字的用法
- android TextView.setText
- 【Scala】使用Option、Some、None,避免使用null
- hostapd移植与使用
- Servlet的定义和周期
- 如何修改Oracle用户密码用不过期