我的FragmentActivity包含带有一些页面的ViewPager。修改一个页面后,其他页面需要接收通知。 所以我的步骤: 1.从片段发送通知到活动 2.获取片段列表 3.致电通知每个人。
问题出在第2步,获取片段。 调用adapter.getItem(int i)调用MyFragmentAdapter.getItem(int i),它返回未附加到activity的新Fragment。
有什么想法吗?
答案 0 :(得分:3)
向YourFragmentPagerAdapter添加下一个方法可以解决问题:
public Fragment getActiveFragment(ViewPager container, int position) {
String name = makeFragmentName(container.getId(), position);
return mFragmentManager.findFragmentByTag(name);
}
private static String makeFragmentName(int viewId, int index) {
return "android:switcher:" + viewId + ":" + index;
}
答案 1 :(得分:0)
为什么不直接从片段中发送已更改的广播,然后在接收广播的其他片段中放置广播接收器?