2017-02-22 6 views
0

私のアプリの基本的なナビゲーションは、各タブがそれ自身のフラグメントである1つのアクティビティ内のタブバーです。私はそれが最後のタブに戻って動作するように戻るボタンを取得しようとしています。上への移動:アクティビティからフラグメント:Androidスタジオ

のAndroidManifest.xmlで
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

と、この:

<activity android:name=".CreateNewPost" android:parentActivityName=".MainActivity"></activity> 
活動は、活動のJavaクラスで、これを使って、最初のタブに行っている場合、私は/が表示される仕事に戻るボタンを取得することができます

これはうまくいきますが、他のタブ内のボタンから新しいアクティビティに移動するときに、同じ方法を使用するとtab1に移動します。特定のタブまたは最後にアクティブなフラグメントに移動するように指示するにはどうすればよいですか? 提案があれば助かります!

答えて

0

新しいアクティビティを起動すると、古いアクティビティは、OnPause()またはOnStop()のいずれかのメソッドが呼び出されたため、一時停止または停止しました。その後、以前のアクティビティに戻ると、起動されます(OnStart())か、resuemd(OnResume())になります。そして、時々、アクティビティは破棄され、OnDestroy()OnCreate()をそれぞれ使用して再度ナビゲートすると再び作成されます。

私が考えることができる最も保証された方法は、最初のアクティビティの状態をどこかに永続的に保存し、ユーザーがそれに戻ってナビゲートして保存されたものをチェックし、そのフラグメントを表示することです。 SharedPreferencesを使用して、この種のデータを保存することができます。see the google developer documentation on that hereまたはonSaveInstanceState(Bundle savedInstanceState)check out this SO question on saving activity state.答えから、onSaveInstanceStateはあなたの特定のケースでは機能しないはずですが、画面の向きを変更するなどの他の場合には便利なので、何かを見てください。

関連する問題