2

私のアプリには、タブのコンテンツごとに TabLayout と 1 つのフラグメントを使用する単一のアクティビティがあります。これらのフラグメントの一部には、対応するサブフラグメント内にサブタブがあります。

これらの各フラグメントは、API 呼び出しに依存してビューをレンダリングします。これらのフラグメントでこれらの API 呼び出しを 1 回だけ行い、ビューをレンダリングする必要があります。ユーザーが別のタブに切り替えて戻ってきた場合、これらのフラグメントは、最初にレンダリングしたビューを表示するだけです (新しい API 呼び出しをトリガーする特別な条件がいくつかありますが、それらはまれであり、onResume で処理できると思います)。

これを実現するには、最初の API 呼び出しを行うのに最適な場所はどこですか? onCreateView ? またはonStartまたはonResumeまたはその他のライフサイクルメソッド?

4

1 に答える 1

1

onCreateView()。UI 要素を変更する場合、これが初めてレイアウトが膨張するためです。Android ドキュメントでは、ユーザーがアクティビティを見る直前に onStart が呼び出されるため、ここですべてのセットアップを行うことをお勧めします。

http://developer.android.com/guide/components/activities.html

また、onResume が呼び出されるたびに API 呼び出しでビューを更新することをお勧めします。最新の Android バージョンでは、アクティビティが非常に長時間ハングする可能性があるため、ユーザーが最新の情報を確認できるようにするためです。また、restart() が呼び出された場合、oncreateview は呼び出されないため、onResume() で更新することをお勧めするもう 1 つの理由です。

于 2016-02-22T04:58:26.300 に答える