2017-08-04 21 views
0

私のアプリには、いくつかのタブがあるアクティビティ(アクティビティ1)があります。このアクティビティから、別のアクティビティ(アクティビティ2)を開始することができます。タスクを完了すると、アクティビティ1に戻ります。 このリターンは常にアクティビティ1の最初のタブを表示しますが、アクティビティ2を開始する前に選択されたタブをクリックします。これは、実際には、戻るボタンを押したときに正常に発生し、Activity2-> Activity1のインテントでそれを複製したいとします。アクティビティから選択したタブの番号を別のアクティビティに渡すことなく、どうすれば達成できますか? ありがとうございます!あなたの主な活動ではありません、あなたの活動2では前のアクティビティで開いた特定のタブに戻る

+0

MrCuriousで今

は正しい軌道に乗っているが、あまりにも遠く少し行きました可能性があります。アクティビティ1に戻る準備が整ったときに 'finish()'を呼び出すだけで、おそらくあなたが望むものが得られます。 – Gary99

答えて

0

、(私は推測) あなたは、ナビゲーションアイコンとして戻るボタンを作成し、ナビゲーションアイコンの内側にあなたがonBackPressed()this.finish()メソッドを書くことができますクリックすることができます。 次のアクティビティに進むと、現在のアクティビティ1がスタックに移動し、アクティビティ2が終了した後、もう一度アクティビティ1が終了した状態になります。ここでは、この

your Activity1{ 
.. 
//startActivity(Activity2) 
//some code to launch Activity2 
.. 
} 

のように参照してください あなたのActivity1はactivity2を開始し、現在表示されているのと同じ状態でスタックに戻ります!あなたのActivity2

Your Activity2{ 
    //any button which will trigger the Activity1 
    //inside it's onCLick(), add this 
    ... 
    onClick(View v){ 
     onBackPressed(); 
     finish(); 
     } 
    //so that your current Activity2 will get finished and lead you 
    //to the mainActivity i.e Activity1 

    } 
+0

私はあなたが何を提案したのか分かりません。 Activity2からActivity1に至るボタンのonClickメソッド(これはフラグメント内にあります)では、 'getActivity()。finish()'の意図の後に書いていますが、助けにはなりませんでした。意図線をfinish()メソッドの呼び出しで置き換える必要がありますか? – paola91

+0

もう一度チェックして、私は答えを編集しました@ paola91 – MrCurious

+0

解決策自体は機能しますが、Activity2からActivity1にいくつかのデータを渡す必要があります。私は意図ではなくバンドルを通じてこれを実現しようとしましたが、動作していないようです(つまり、タブ選択は保持されますが、データはActivity2からActivity1に渡されません)。助言がありますか? – paola91

関連する問題