3

我的 FragmentActivity 包含带有一些页面的 ViewPager。一旦修改了一个页面,其他页面需要收到通知。所以我的步骤: 1. 从片段发送通知到活动 2. 获取片段列表 3. 向每个片段调用通知。

问题出在第 2 步,获取片段。调用 adapter.getItem(int i) 会调用 MyFragmentAdapter.getItem(int i),它会返回未附加到活动的新 Fragment。

有任何想法吗?

4

2 回答 2

3

将 next 方法添加到 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;
}
于 2011-11-10T16:49:07.050 回答
0

为什么不直接从已更改的 Fragment 发送一个广播,然后在您的其他 Fragment 中使用一个广播接收器来接收该广播?

于 2011-11-03T17:51:07.720 回答