2016-01-22 77 views
1

我正在創建一個具有抽屜佈局的應用程序。我有一個替換activity_main中的佈局的碎片。當後退按鈕被按下時,如果抽屜被打開,我只想抽屜被關閉,但不是碎片。我可以如何完成這個。這裏是Java代碼MainActivty,我打電話onBackPressed()。 MainActivity.java:android防止popstack按回退按鈕

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
} 

回答

0

刪除super.OnbackPressed()和寫此。

 @Override 
     public void onBackPressed() { 
      // super.onBackPressed(); 
      yourDrawerLayoutObject.hideNavigationDrawer(); 
     } 

而在你navigationDrawerFragment寫這個方法:

 public void hideNavigationDrawer(){ 
      mDrawerLayout.closeDrawer(Gravity.LEFT); 
     } 
+0

如果(drawerLayout.isDrawerOpen(GravityCompat.START) ){ //抽屜被打開 drawerLayout.closeDrawers();} – jobin

+0

我已經將上面的代碼添加到了onBackpressed method.It的作品 – jobin

+0

但是主要活動中的片段也被彈出。 – jobin

0

試試這個:

@Override 
public void onBackPressed() { 
    if (slidingDrawer.isOpened()) 
     slidingDrawer.close(); 
    else 
     super.onBackPressed(); 
} 

希望它幫助;)