問題タブ [fragmentstatepageradapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1965 参照

android - キー f0 のフラグメントは存在しません: インデックス 1

アプリでかなりの ViewPager/FragmentStatePagerAdapter が動作していましたが、手動で Fragment を FragmentManager に追加した後、画面を TWICE 回転させるとこの例外が発生し始めました。

スタックトレース:

これは、フラグメントをマネージャーに手動で追加するコードです。

0 投票する
2 に答える
145 参照

java - FragmentStatePageAdapter キャッシュ、アクティビティが再作成された後に古いフラグメントを参照するにはどうすればよいですか? (例 - ランドスケープ モード)

私のアプリでは、スワイプ ビュー レイアウトで 3 つのフラグメントを表示している ViewPager を取得しました。アクティビティが再作成された場合 (たとえば、ランドスケープ モードに移行した場合)、フラグメントへの参照を取得できなくなります。

これは私のアダプターです

この行でヌルポインタ例外が発生します

これは、getItem メソッドが呼び出されていないために発生していることを確認したので、アダプターが何らかの方法で古いフラグメントを再利用していると思いますが、このフラグメント キャッシュにアクセスして古いフラグメントを取得し、findViewById メソッドを使用できるようにするにはどうすればよいですか? ありがとうございました!

0 投票する
1 に答える
361 参照

android - Android -FragmentStatePagerAdapter インスタンス化されたフラグメントの量を変更

FragmentStatePagerAdapter は、毎回約 3 つのフラグメントを作成します。ビューページャーに一度にデータを入力するために、たとえば 10 個のフラグメントを作成したいと思います。デフォルトを変更する方法はありません。私は多数のアイテムを扱っており、アダプター内の各フラグメントがネットワーク呼び出しを行うため、新しいページのトラバーサルごとにオーバーヘッドが発生します。一度に多くのアイテムをアダプターに入れておくことで、それを削減したいと考えています。

0 投票する
1 に答える
717 参照

android-viewpager - FragmentStatePagerAdapter で MapFragment をサポートします。前と最初のマップ フラグメントしか表示されない

Googlemap カルーセル (ページャー) プロジェクトに取り組んでおり、複雑なレイアウト内に Google マップを表示する必要がありますが、ページャーを移動するたびに mapfragment が読み込まれません。ひっくり返すといきなり地図が出てきます。これが私のコードです:

およびmain.xml

そして、フラグメントの場所がある ttt.xml:

そして私のMainfest.xml

理解を深めるためにこのビデオを入れました。

あなたが私を助けてくれることを願っています。

0 投票する
8 に答える
130927 参照

android - FragmentPagerAdapter と FragmentStatePagerAdapter の違いは何ですか?

FragmentPagerAdapterとはどう違いFragmentStatePagerAdapterますか?

FragmentPagerAdapterGoogle のガイドについては次のように述べています。

このバージョンのページャーは、一連のタブなど、通常はより静的なフラグメントをページングする必要がある場合に使用するのに最適です。ユーザーがアクセスする各ページのフラグメントはメモリに保持されますが、ビュー階層が表示されない場合は破棄される可能性があります。フラグメントインスタンスは任意の量の状態を保持できるため、これにより大量のメモリが使用される可能性があります。より大きなページのセットについては、 を検討してFragmentStatePagerAdapterください。

そして約FragmentStatePagerAdapter

このバージョンのページャーは、多数のページがある場合に便利で、リスト ビューのように機能します。ページがユーザーに表示されない場合、フラグメント全体が破棄され、そのフラグメントの保存された状態のみが保持されます。FragmentPagerAdapterこれにより、ページ間の切り替え時に潜在的に多くのオーバーヘッドが発生するのと比較して、ページャーは訪問した各ページに関連付けられたメモリをはるかに少なく保持でき ます。

だから私は3つの断片しか持っていません。しかし、それらはすべて、大量のデータを含む個別のモジュールです。

Fragment1一部のデータ (ユーザーが入力する) を処理し、アクティビティを介して に渡します。Fragment2これは単純なListFragmentです。Fragment3ListFragmentです。

私の質問は次のとおりです。どのアダプターを使用すればよいですか? FragmentPagerAdapterまたはFragmentStatePagerAdapter

0 投票する
0 に答える
766 参照

android - ViewPager (FragmentStatePagerAdapter) を使用して Fragment のインスタンスを保存および復元する

短縮版:

ViewPager(FragmentStatePagerAdapterを使用)を含むフラグメントでアクティビティがあり、再開すると、このフラグメントが再作成されます。バックプレスでフラグメントに戻り、状態とビューページャーを復元するにはどうすればよいですか?

詳細:

アクティビティのメソッド onCreate(..) で、FrameLayout (R.id.themesFragmentsLayout) を使用したアクティビティがあります。

ThemesFragment には、3 つのフラグメントを保持する FragmentStatePagerAdapter を持つ ViewPager のみが含まれます。

たとえば、ThemeOfDayFragment では、ユーザーがいくつかのボタンをクリックすると、(ViewPager を保持する) ThemesFragment を別のボタン (たとえば、ThemeDetails) に変更できます。

しかし、彼が戻ってきたとき (たとえば、戻るキーを押すことによって)、ThemesFragment が再作成され、ViewPager 内のすべてのフラグメントが再作成されます。ThemesFragment で setRetainInstance(true) を設定しました

誰でも助けることができますか?

0 投票する
2 に答える
1710 参照

android - ViewPager でフラグメントを別のフラグメントに置き換える

私はAndroidプログラミングにまったく慣れていないので、これを機能させるのに苦労しています(私はかなり近いですが、重要なものが欠けています).

患者情報のフラグメントをページングする、PatientPagerActivity というアクティビティがあります。各 PatientFragment にはボタンがあり、クリックすると、患者情報の他にその他の情報も表示されます。したがって、PatientPagerActivity で計画していたのは、PatientFragment を PatientWithMiscFragment に置き換えることでした (これには、患者情報とその他の部分があります)。

activity_pager.xml ファイル:

PatientPagerActivity ファイル:

ユーザーがその他の情報に関心がある場合、PagerActivity へのコールバックが発生し、onMiscSelected() が PatientFragment を PatientWithMiscFragment に置き換えます。しかし、私の場合、これは起こっていません。

どこが間違っているのかを特定するのを手伝ってください。

ありがとうございました!