2017-01-23 40 views
0

在我的應用程序中,當用戶單擊列表項時,我正在轉換到DetailsFragment。並且有兩個選項可以返回主Fragment(列表Fragment)。如何攔截片段調用到MainActivity中的popBackStack()?

  • 按下後退按鈕。 (這裏沒問題,因爲我在的處理這個)
  • Toolbar回箭頭(這是我的問題)。

當用戶按下工具欄上後退箭頭,我撥打以下

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

我怎麼能攔截MainActivity這個活動? (有一些操作,我在做MainActivity當列表Fragment是對用戶可見。

+0

要求它覆蓋'onOptionsItemSelected'方法攔截工具欄的情況下,回你可以找到完整的答案在[如何覆蓋在Android操作欄後退按鈕?](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(); } return true; }' – steve111MV

+0

現在沒關係,但這隻適用於頂部後退箭頭 – steve111MV