1

私は API レベル 10 の Android 互換パッケージを使用しています。

getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, myPagerFragment).commit();

myPagerFragment には、FragmentPagerAdapter を利用する ViewPager が含まれています。実装は Android のドキュメントに従っており、特別なことは何もありません。ViewPager 子 Fragments の 1 つのボタンがクリックされると、myPagerFragment が削除され、次を使用して新しい Fragment インスタンス (myOtherFragment) に置き換えられます。

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.replace(R.id.fragment_container, myOtherFragment).commit();

myOtherFragment は、ボタンを含む単純なビューを表示します。このボタンをクリックすると、myOtherFragment が削除され、次を使用して myPagerFragment の新しいインスタンスに再度置き換えられます。

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.replace(R.id.fragment_container, myPagerFragment).commit();

この時点で、myPagerFragment は最初のように表示されなくなり、代わりに空白の画面が表示されます。クラッシュはなく、ログには何も役に立ちません。

たとえば、myPagerFragment を単純なビュー定義を含む Fragment に置き換えるなど、このメソッドを他のビューで試しましたが、これは正しく期待どおりに機能します。ViewPager を含むフラグメントだけが、連続した読み込みで正しく表示されません。

ViewPager を含むフラグメントを常に正しく表示するにはどうすればよいですか?

4

1 に答える 1

2

フラグメントをフラグメントにネストすることはできません。FragmentPagerAdapterしたがって、をViewPagerに入れることはできませんFragment。最も外側のを取り除くなど、この競合を解決するためにUIを再設計してくださいFragment

于 2012-03-07T12:55:29.720 に答える