3

私は のViewPager中に を持っていFragmentActivityます。はViewPagerを使用し、FragmentPagerAdapter次の注目すべきメソッドがあります。

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

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

子 Fragments の 1 つで、子の順序が変わるように ViewPager の Adapter を変更します。この変更を反映するように ViewPager を強制的に更新するには、次のように呼び出します。

mViewPager.getAdapter().notifyDataSetChanged();

ただし、次の例外が発生します。

java.lang.IllegalStateException: Recursive entry to executePendingTransactions

ASyncTask を使用して notifyDataSetChanged() を呼び出すと、例外はなくなりますが、ViewPager はビューを更新しません。

notifyDataSetChanged() が呼び出されたときに ViewPager にその子ビューを強制的にリロードさせる正しい方法を知っている人はいますか?

ありがとう

4

0 に答える 0