0

私のアプリでは、アクションバーでドロップダウンを有効にしています。ユーザーには2つの要素から選択できます。選択に応じて、ViewPagerにさまざまなFragmentPagerAdaptersのさまざまなコンテンツを表示させます。ユーザーは常に切り替えることができる必要があります。

運が悪かったので、リスナーに2つの異なるPagerAdapterを設定しようとしました。Pagerは、毎回前のフラグメントをリロードするだけでした。同様の問題がここここで説明されています。ただし、私のアプローチでは、1つのアダプターの内容を変更したくありません。私は本当に2つの別々のアダプターを切り替えたいだけです。

このすべてが私には本当に混乱しているようです。これに対する既知の回避策はありますか、または私の問題に対する代替の解決策はありますか?

4

2 に答える 2

1

アプリケーションで可能な場合は、FragmentStatePagerAdapterの代わりにを使用することをお勧めしFragmentPagerAdapterます。各アダプタはフラグメントの個別のリストを保存できる必要があり、他のアダプタに切り替えたときにフラグメントの保存された状態を保持する必要があります。

于 2012-10-09T03:03:05.257 に答える
0

運が悪かったので、リスナーに2つの異なるPagerAdapterを設定しようとしました。Pagerは、毎回前のフラグメントをリロードするだけでした。

FragmentPagerAdapterまたはを使用していると想定していますFragmentStatePagerAdapter。どちらもフラグメントをタグ名でに保存するFragmentManagerため、この切り替え方法は機能しません。

これに対する既知の回避策はありますか、または私の問題に対する代替の解決策はありますか?

1つのアプローチは、フォークFragmentPagerAdapterまたはFragmentStatePagerAdaptermakeFragmentName()メソッドを置き換えて代替タグ構文を使用し、2つのうちの1つに改訂されたアダプタークラスを使用することです。

于 2012-10-09T00:24:32.620 に答える