viewpager+fragment是常见的形式。viewpager在fragmentActivity中。
此时activity如何与fragment进行通信呢?前提是viewpager的页数是固定的几个
一个方法是在activity中创建一个map,key值就是viewpager中的页数,而value就是每一页中的fragment。
问题:在何处调用map.put()将fragment存入map呢?
可以在adapter中public Fragment getItem(int arg0) 中,不过会出现一个问题。如果应用按home键被压入后台,且被kill掉。
返回时,map的内容就是空的了。而且不会再走getItem方法。
解决办法是在fragment的onCreate的方法中将自己put进入该map中:如
getActivity().setFragmentMap(int, this);
此处需要对特定的fragment进行标记。
本文探讨了使用ViewPager结合Fragment时,Activity与Fragment之间的通信方法。通过在Activity中维护一个Map来跟踪不同页面对应的Fragment实例,确保即使在应用被置于后台并重新启动时也能保持状态。文章详细介绍了如何在Fragment的生命周期中正确地更新此Map。
1340

被折叠的 条评论
为什么被折叠?



