3

我有一个ViewPager里面的FragmentActivity。使用ViewPageraFragmentPagerAdapter并具有以下值得注意的方法:

@Override
public Fragment getItem(int position) {
    return ChildFragment.newInstance(MyActivity.this);
}

@Override
public int getItemPosition(Object object) {
    return POSITION_NONE;
}

在其中一个子片段中,我修改了 ViewPager 的适配器,以便子片段的顺序发生变化。要强制 ViewPager 更新以反映此更改,我调用:

mViewPager.getAdapter().notifyDataSetChanged();

但是我得到了这个例外:

java.lang.IllegalStateException: Recursive entry to executePendingTransactions

如果我用 ASyncTask 调用 notifyDataSetChanged() 异常就会消失,但 ViewPager 不会更新它的视图。

有谁知道在调用 notifyDataSetChanged() 时强制 ViewPager 重新加载其子视图的正确方法?

谢谢

4

0 回答 0