2011-10-30 23 views
0

私はバックスタックのコンセプトを理解しているので、これは不可能だと確信していますが、とにかく頼むと思いました。バックキーを使用するとアクティビティを強制的に再描画することはできますか?

そうでない場合、この動作をシミュレートするアプローチは何ですか?たとえば、別のアクティビティ "A2"を開始するアクティビティ "A1"があります。 「A2」は、「A1」が示すコンテンツを変更します。戻るボタンを押すと、古い内容の古い「A1」が表示されます。 "A1"が再び呼び出されるたびに、新しい "A1"に新しい内容が表示されます。

この問題を回避するにはどうすればよいですか?

+0

A1からA2を起動し、A2から戻るときにA1の内容を更新したいのですか? – Gallal

答えて

2

ユーザが戻るボタンを押すと、A1アクティビティがフォアグラウンドに戻ります。これによりonCreate()がトリガーされないため、使用することはできませんが、Activity Lifecycleを見るとonResume()メソッドが呼び出されます。

したがって、アクティビティA1のコンテンツの表示をonCreate()からonResume()に移動すると、アクティビティが開始されたときと、戻るボタンを使用してアクティビティに戻るときの両方で正常に動作するはずです。

2

Activity Lifecycleを確認してください。アクティビティが表示されると、フォーカスが得られたらonStart、次にonResumeを通過します。ユーザーがそこをナビゲートするたびに更新する場合は、onCreateではなく、これらのポイントの1つで新しいコンテンツを読み込むことができます。

関連する問題