viewpager中fragment数据更新不能及时显示问题

viewpager中fragment数据更新不能及时显示问题我使用了两成viewpager,页面如下图。第一层是4个fragment对应4个签,每个fragment又有一... viewpager中fragment数据更新不能及时显示问题我使用了两成viewpager,页面如下图。第一层是4个fragment对应4个签,每个fragment又有一个viewpager对应3个fragment.如图,现在我在新增收入界面添加数据进数据库后,在收入信息界面读取数据库显示收入信息,不能及时更新,必须切换到便签之类的界面再返回才会显示,监视生命周期发现,每次收入信息destoryview后再oncreateview才会更新,但直接从新增收入滑动到收入信息,不会destoryview,怎么能实现其及时更新。看了很多博客,解决方案就是写fragmentadapter时重写instantiateitem,我重写了如图,但由于viewpager的预加载机制,就是当前视图为新增收入时,会预加载收入信息,切换到收入信息不会再调用instanteitem,所以怎么的都只是调用一次instanteitem(),怎么实现每次滑动都调用instanteitem(),或者有其它方式更新listview 展开
 我来答
幻想流逝
2016-06-22 · TA获得超过1743个赞
知道大有可为答主
回答量:642
采纳率:75%
帮助的人:564万
展开全部
Mark一下吧,在手机上没心思回答。
————————————————————————
倦怠症发作,还是没有Coding的欲望,不过受楼下启发我突然想起一种会被人揍的省事方法,理论上可行,就是给内嵌的PagerView设置属性,setOffscreenPageLimit(0),也就是不预加载,这样每次切换页面都要onCreateView了(注意不是onActivityCreate,这里Activity依旧只Create一次)

其实这属于Fragment间的通信问题吧,正常实现方式挺多的,图省事的话就用EventBus,
笨一点的就弄个静态flag,数据变化时就把flag设为true,然后在有列表的Fragment的onResume周期判断,listView,adapter不为null(重要)且flag为true就notifydatasetchanged,然后再把flag改回false。这习惯不好,会被人鄙视不过能达到目的。

换平时要Fragment间及时交互,我通常会在Fragment的构造方法里传接口实例,通过父Activity分配处理,建议你也用这种方式,邪道方式尝试下可以,用多了养成坏习惯就害了自己了……
张氏说IT
2016-06-22 · TA获得超过265个赞
知道小有建树答主
回答量:206
采纳率:57%
帮助的人:43.9万
展开全部
百度一下 fragment懒加载。通过重写setUserVisibleHint,判断是否要重新加载fragment
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式