TabLayout,ViewPager(Fragment)的简单应用实例,以及RecyclerView所遭遇的问题
2017-03-29 17:36
507 查看
1、tablayout与viewpager(Fragment)的实例应用
大概这种效果。
首先导入依赖:
compile 'com.android.support:design:25.3.0'
其次xml代码:
<android.support.design.widget.TabLayout android:id="@+id/tl_news" android:layout_width="match_parent" android:layout_height="40dp" app:tabIndicatorColor="@color/define_dark_red" app:tabSelectedTextColor="@color/define_dark_red" app:tabTextColor="@color/black" > </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:id="@+id/vp_news" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v4.view.ViewPager>
简单的代码:
initTabTitles();//初始化TabLayout中的标签,方式多样只举一种 initvpFragments();//初始化在ViewPager中所需要使用到的Fragment vp_news.setOffscreenPageLimit(fragments.size());//这个也很关键,设置ViewPager所承载Fragment的缓冲数与RecyclerView:No Adapter skip layout造成页面空白有关 NewsFragmentsAdapter newsFragmentsAdapter=new NewsFragmentsAdapter(getChildFragmentManager(),fragments,titles); vp_news.setAdapter(newsFragmentsAdapter); tl_news.setupWithViewPager(vp_news);//关联TabLayout与ViewPager
两个简单的初始化:
private void initvpFragments() { fragments=new ArrayList<>(); fragments.add(new InfoFragment().newInstance(0));//这么写是避免使用Fragment的构造传递参数, fragments.add(new InfoFragment().newInstance(1));//参考:Avoid non-default constructors in fragments: use a default constructor plus Fragment报错的解决方法 fragments.add(new InfoFragment().newInstance(2));//针对上面的连接,不是非要在onCreate中获取参数。
fragments.add(new InfoFragment().newInstance(3));//InfoFragment自己随便写一个。
} private void initTabTitles() { titles=new String[4]; titles[0]="行业"; titles[1]="财富"; titles[2]="故事"; titles[3]="媒体"; }
2、在下拉刷新后滑动,不再显示Fragment内容的错误 RecyclerView: No adapter attached; skipping layout
个人实验:ViewPager的FragmentPagerAdapter默认保存的是三个Fragment;然后其他的程序就会自动重新加 载(?没具体实验),这种机制导致即便联网获取了相应的参数,但是相应的RecyclerView的Adapter却还未来得及新建(?个人猜测,菜鸟阶段)。解决的办法很简单:vp_news.setOffscreenPageLimit(fragments.size());//即设置最大页数
相关文章推荐
- TabLayout和ViewPager以及Fragment实现超级简单导航栏
- TabLayout的ViewPager中的Fragment点击刷新的问题
- viewpager+fragment联网加载数据无显示以及预加载问题解决
- ViewPager简单实用以及如何移除当前的Fragment
- Fragment与ViewPager嵌套的简单应用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android开发ViewPager的预加载和Fragment的销毁问题,以及tabLayout+ViewPager的使用,tablayout平板适配问题解决
- Android ViewPager Fragment 简单应用
- TabLayout的简单使用(TabLayout+Fragment+ViewPager)
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- Android深入浅出系列之实例应用—简单的手指拖动图片,图片滑来滑去显示应用Gallery和BaseAdapter以及ImageView的使用
- TabLayout与FragmentViewPager结合使用遇到的问题
- ViewPager(一)——最简单的 ViewPage+Fragment实例
- ViewPager的应用以及禁用滑向下一页
- Android Fragment使用总结以及与Viewpager相结合使用
- ViewPager+Fragment替代TabHost效果的简单示例
- viewpager和以及在viewpager中使用FragmentPagerAdapter实现分页
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- ViewPager,ActionBar,Fragment应用--模仿通讯录滑动效果
- Fragment结合ViewPager来回切换的问题