2017-01-23 8 views
0

私のアプリケーションでは、ユーザーがリスト項目をクリックするとDetailsFragmentに移行しています。メインのFragment(リストFragment)には2つのオプションがあります。MainActivityのpopBackStack()へのフラグメント呼び出しをインターセプトするにはどうすればよいですか?

  • 戻るボタンを押します。 (私はMainActivityonBackPressed()でこれを処理するのでここでは問題ありません)
  • Toolbar戻る矢印(これは私の問題です)を押してください。ユーザーがツールバーのバック矢印を押すと

、私はMainActivityでこのイベントを傍受することができますどのように、次の

getActivity().getSupportFragmentManager().popBackStack(); 

を呼びますか? リストFragmentがユーザーに表示されているとき(私はMainActivityでやっているいくつかの操作があります。

+0

は、それが戻ってツールバーのイベントをインターセプトする 'onOptionsItemSelected'メソッドを上書きする必要があなたは完全な答えを見つけることができます[アンドロイドでアクションバーのバックボタンをオーバーライドする方法?](http://stackoverflow.com/questions/14437745/how-to-override-action-bar-back-button-in-android ) –

答えて

0

ただ、このコードを配置

toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      onBackPressed(); 
     } 
    }); 
+0

私はDetailsFragmentで次を使用しました '@Override public boolean onOptionsItemSelected(MenuItem item){ int id = item.getItemId(); if(id == android.R.id.home){ getActivity()。onBackPressed(); } がtrueを返します。 } ' – steve111MV

+0

今は大丈夫ですが、これは上の戻る矢印だけに適用されます – steve111MV

関連する問題