2016-07-20 8 views
0

戻るボタンと、奇妙な動作が発生しました。Fragmentsです。ここに私の状況は、私は3 Fragmentsf1f2、およびF3 .を持っているf2を立ち上げるf1Buttonがありますされています戻るボタンが正しくない部分を表示する

getSupportFragmentManager() 
    .beginTransaction() 
    .addToBackStack("f1") 
    .replace(R.id.fragHook, f2, 
    TAG).commit(); 

この取引は完璧に動作します。私はちょうど見つける2つの断片の間を行き来することができます。 f2の中で、私はユーザがセルを選択できるRecyclerViewを持っています。ユーザーがセルを選択すると、私はf3を持ち出すが、私はbackstackにf2を追加しないでください:

getSupportFragmentManager().beginTransaction() 
    .replace(R.id.fragHook, f3) 
    .commit(); 

Fragmentf3正しく表示されています。このプロセスで初めて、戻るボタンをクリックすると、f1が再び正しく表示されます。これらの同じ手順を繰り返すと問題が発生します。 Button内にはf1が表示され、f2にはRecyclerViewが表示されます。次に、セルが選択されて、f3が再び表示されます。今すぐ戻るボタンをクリックすると、フラグメントf2が表示されます。

f1f2の両方についてonCreateViewが呼び出されました。 f2Fragmentが表示される原因は何ですか?

答えて

0

あなたは戻るボタンを処理し、断片がフォーカスをチェックして、手動で

0

はい、それはbackstackするすべてのフラグメントを追加することによって行うことができ、右流れを行うことができます。

戻るボタンを押してCurrentFragmentをf3あるはその後

super.onbackPressed他に1時間()を2回書きます。

関連する問題