17

3 つのフラグメントを保持する ViewPager を使用しています。各フラグメントはリストをロードします。問題は、アプリケーションが初めて実行され、次のフラグメントにスワイプするときです。このフラグメントは、ビューが表示される前にロードするのに時間がかかる (約 2 秒) 必要があります。これは非常に奇妙な動作です。私が望むのは、アプリが開始されたら、ViewPager のすべてのフラグメントがユーザーの準備ができている必要があるため、フラグメントをスワイプするときに待ち時間がありません。どうやってやるの?

4

1 に答える 1

37

setOffscreenPageLimit()onCreate() を呼び出すだけです (ViewPager を初期化した後)。OffscreenPageLimit は、現在のページのいずれかの側に保持する必要があるページの数を設定します (この場合は 2)。これにより、すべてのフラグメントがインスタンス化されます。

(もう 1 つの (強く推奨される) 可能性は、リストまたはリストアダプターのパフォーマンスを向上させることです。2 秒の読み込み時間は良く聞こえないためです)

于 2013-08-20T18:16:49.607 に答える