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进行标记。