Androidのドキュメントでフラグメントを使用している場合のexampleでは、アプリケーションが「デュアルビュー」モードのときに、アプリケーションが別のタイトルの詳細を表示する必要があるときはいつでも、詳細フラグメントが再作成されます。 FragmentTransaction.replace()
は、古いディテール・フラグメントの各インスタンスを新しいインスタンスにスワップアウトするために使用されます。新しいインスタンスを作成するのではなくフラグメントを更新することはできますか?
これは推奨される方法ですか? UI自体ではなく、UIの内容を更新することが意図されている場合は、新しいUIインスタンスを作成するのは無駄ではありませんか?新しいインスタンスを作成する唯一の理由は、バックスラックにインスタンスを追加して、ユーザーがステップをリトレースできるということだけです。さもなければ、断片を直接更新することは安全か推薦されますか?
例の場合、それはDetailsFragment.setShownIndex()
の行に沿ったメソッドを意味します。これは、DetailsFragment
を再作成する代わりに、新しいタイトルインデックスを渡して呼び出されます。
例では、1つのアクティビティで両方のフラグメントを管理し、一度に1つのみを表示し、必要に応じて各フラグメントを交換しているとします。アクティビティが各フラグメントのインスタンスを作成し、それぞれの参照を保持し、必要に応じてこれらの2つのインスタンスを追加または削除するだけでよいでしょうか?
これは、タイトルフラグメントがresumed
状態(つまり「フォアグラウンド」)にあるとき、タイトルを選択すると、詳細フラグメントが存在するときにDetailsFragment.setShownIndex()
が呼び出されることになりますstopped
状態。
いい考えですか?悪いアイデア?
ありがとうございます。
英語でコメントを投稿した方がより役に立ちます。 –
私はごめんなさい。私はイタリア語です。 –