1.ViewPager与TabLayout的初始化:

1 private void initData() {
2         mTabFragmentAdapter = new TabFragmentFirstAdapter(getSupportFragmentManager(), mDeptType);
3         mVp.setAdapter(mTabFragmentAdapter);
4         mVp.addOnPageChangeListener(
5                 new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
6         mVp.setOffscreenPageLimit(3);
7         mTabLayout.setupWithViewPager(mVp);
8 }

2.刷新主要还是靠FragmentPagerAdapter的notifyDataSetChanged()

1 private void reflashData(int type, List<WorkOrderBean.RowsBean> list) {
2         mTabFragmentAdapter.setDataAndType(type, list);
3         mTabFragmentAdapter.notifyDataSetChanged();
4 }

3.当notify时,FragmentPagerAdapter中主要会回调getItemPosition(Object object)方法,在这里判断是哪个Fragment

 1   @Override
 2     public int getItemPosition(Object object) {
 3         if (object instanceof WorkSubFirstFragment) {
 4             if (list0.size()==0)return super.getItemPosition(object);
 5             ((WorkSubFirstFragment) object).updateView(list0);
 6         } else if (object instanceof WorkSubFirstFragment1) {
 7             if (list1.size()==0)return super.getItemPosition(object);
 8             ((WorkSubFirstFragment1) object).updateView(list1);
 9         } else if (object instanceof WorkSubFirstFragment2) {
10             if (list2.size()==0)return super.getItemPosition(object);
11             ((WorkSubFirstFragment2) object).updateView(list2);
12         }
13         return super.getItemPosition(object);
14     }

4.定义Fragment中的更新视图方法:

1 public void updateView(List<WorkOrderBean.RowsBean> rows) {
2         reflashSelfData(rows);
3 }

小贴士:
添加数据时不要直接赋值,采用addList()方法最好,并且之前最好清空数据集
1 list0.clear();
2 list0.addAll(list);

转载于:https://www.cnblogs.com/jeffery336699/p/9288627.html

ViewPager+TabLayout+Fragment刷新Fragment中的数据相关推荐

  1. Activity与Fragment,以及Fragment与Fragment之间的数据通讯

    Activity和Fragment无疑是Android开发中使用最多的组件,如果Activity使用了多个Fragment,需要在Activity与Fragment,以及Fragment与Fragme ...

  2. ViewPager,TabLayout,Fragment实现tabs滑动

    工作半年了,准备在新的一年开始写点博客,记录自己的成长,如果能给别人一些参考就更好了. Demo实现: 前段时间公司的项目遇到了使用 ViewPager,TabLayout 和 Fragment实现一 ...

  3. ViewPager+Fragment切换时无法更新数据问题解析(源代码分享)

    在一个 Android 应用中,我们可以使用 FragmentPageAdapter 来处理多 Fragment 页面的横向滑动.但是当 Fragment 对应的数据集发生改变时,我们都希望能够通过调 ...

  4. Activity嵌套fragment大全,activity加载单个fragment,TabLayout+ViewPager实现多个fragment滑动效果

    加载单个fragment效果                                                                        头部标题多个fragment ...

  5. 如何在不同Activity或Fragment中共享数据(普通数据或ViewModel)

    文章目录 如何在不同Activity或Fragment中共享数据(普通数据或ViewModel) 共享普通数据 LifecycleStore,ShareDataStore,RefCountStore ...

  6. 如何让fragment刷新界面_快速实现android版抖音主界面的心得

    原文作者:DK_BurNIng 如何快速确定竞品某个界面的实现方式? 当你收到产品一个需求是模仿某个竞品且时间很短没有过多时间给你调研技术方案的时候,如何尽快确定这个功能的技术方案呢? 这里我给出我自 ...

  7. android 清空回退栈,清空Fragment回退栈中某个Fragment

    出栈的方法: getActivity().getSupportFragmentManager().popBackStackImmediate(CreateOneFragment.class.getNa ...

  8. Fragment 与DialogFragment 相互之间传递数据

    场景: 步骤<1>在FragmentA 中触发显示DialogFragmentB,并传递参数数据mA2B给DialogFragmentB,在DialogFragmentB获取该参数--mA ...

  9. android fragment framelayout,framelayout中fragment的切换

    我们在android开发中经常会用到fragment,例如侧拉栏的切换,viewPager的切换. 而我们切换fragment无非就两种方法: 1.replace(): 2.add(),hide(), ...

最新文章

  1. 如何检查字符串是否包含特定单词?
  2. MySQL的IFNULL函数
  3. JAVA中int、String的类型转换
  4. java 命令读取参数_如何读取/处理命令行参数?
  5. socket 编程入门教程(一)TCP server 端:4、构造函数涉及的概念
  6. 基于Spring+SpringMVC+Mybatis架构的开源博客
  7. Nginx学习之十一-Nginx启动框架处理流程
  8. 2018年技术直播PPT干货分享
  9. 沃尔玛承压,TJX、唯品会稳健,折扣零售是行业“抗压”能手?
  10. 2012 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
  11. logback无忧配置文件
  12. 【Unscented Kalman Filter】C#无迹卡尔曼滤波Demo--两个示例附代码
  13. 英语听力网站推荐-非常不错
  14. 水杯如何测试 (测试用例)
  15. 胡萝卜学JavaScript
  16. github推送Please make sure you have the correct access rights and the repository exists.
  17. Ubuntu20中使用AirSim--亲测可用
  18. NVIDIA Jetson TX2 解决奥比中光 Astra pro相机的ros 打不开深度信息/camera/depth/image
  19. Unity游戏存档的四种方式
  20. akka-typed(0) - typed-actor, typed messages

热门文章

  1. idea Scala import spark.implicits._ 报红,无法导入的解决办法
  2. kubesphere devops介绍、访问账密及nfs数据备份同步
  3. 基于rancher在线安装k8s集群
  4. Python爬虫开发:中文字符编码问题quote解决
  5. Command命令设计模式
  6. JVM 调优实战--内存溢出的定位和MAT分析
  7. Java加视频特效,实现伪原创
  8. usb管控软件_记账软件新外设:PUPUPULA 智能存钱罐登陆众筹
  9. python time strptime_Python中操作时间之strptime()方法的使用
  10. python 常量_大疆机甲大师Python开发: 两只老虎