2015-12-19 76 views
0

如何從一個fragment返回到之前的ActionBarActivity單擊Navigartion Bar後退按鈕?如何從一個片段返回到上一個ActionBarActivity

是否有任何方法可以重寫?片段中不能使用onBackPressed()方法。

+0

您是否想從您的片段活動中返回另一個活動來保存當前片段? –

+0

試試我的答案... –

回答

0

您可以通過覆蓋做到這一點OnBackPressed()

public void onBackPressed() 
{ 
FragmentManager fm = getActivity().getSupportFragmentManager(); 
fm.popBackStack(); 
} 

片段是添加在堆棧中,當你popbackStack()它去以前的片段堆棧

+0

你不能重寫片段中的onBackPressed事件。 –

+0

它無法覆蓋片段內的onBackPressed()所以我想要一些替代 –

0

剛剛從Activity。它刪除onBackPressed()將起作用。

第二件事

您必須添加Fragment1在堆棧中,如果你想回到Fragment1當你更換ListFragent

FragmentManager fragmentManager = getFragmentManager(); 
fragmentTransaction fragmentTransaction =fragmentManager.beginTransaction(); 
fragmentTransaction.replace(R.id.container, 
       FragmentObj); 
fragmentTransaction.addToBackStack(null).commit(); 
+0

我沒有使用onBackPressed()裏面的活動類 –

+0

@nawinkhatiwada請參閱編輯 –

+0

我在哪裏使用此代碼?在片段類裏面? –

0

嘗試使用這樣的:

getView().setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 

      if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) { 

       // handle back button 
       //add the functionality here 

      } 

      return false; 
     } 
    }); 

實施它在你的onResume函數中。

它應該完美地工作。

相關問題