簡體   English   中英

單擊后退按鈕時如何返回主活動?

[英]How to back to mainactivity when I click on backbutton?

Override
public void onBackPressed(){
  if(drawer.isDrawerOpen(GravityCompat.START)){
      drawer.closeDrawer(GravityCompat.START);
  }else {
      super.onBackPressed();
  }
}

我有一個帶有一些物品和碎片的導航抽屜。 當我單擊一個項目時,顯然會打開一個片段,但是如何在任何片段打開時返回按鈕回到 mainactivity 布局?

如果您在片段內定義后退按鈕並使用片段類進行處理。 你可以使用這個:

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {
    // do something
    return true;  // return true if back handled, false otherwise
}

return super.onKeyUp(keyCode, event);
}

您也可以在 MainActivity 本身中嘗試此操作:

@Override
 public void onBackPressed() {
     if(getFragmentManager().getBackStackEntryCount() > 0) {
         getFragmentManager().popBackStack();
     } else if(drawer.isDrawerOpen(GravityCompat.START)){
         drawer.closeDrawer(GravityCompat.START);
     } else {
         super.onBackPressed(); 
     } 
 }

您必須手動維護 mainActivity Backpressed() 中的所有片段,您可以使用此高級找到現在打開的片段,您可以替換 backButton 上的主片段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM