关闭简单的侧抽屉后背按下

问题描述:

我使用simple sidebar drawer和我想当用户后退如果抽屉打开关闭和关闭活动完成时。这个库没有这个函数的默认值。我用下面的代码,但不工作:(关闭简单的侧抽屉后背按下

final SimpleSideDrawer mSlidingMenu = new SimpleSideDrawer(mactivity); 
mSlidingMenu.setLeftBehindContentView(R.layout.sidebar); 
mSlidingMenu.setOnKeyListener(new View.OnKeyListener() { 
    @Override 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      mSlidingMenu.closeLeftSide(); 
      return true; 
     } else 
      return false; 
    } 
}); 

toggleDrawer()方法可用于在抽屉的打开和关闭之间切换。因此,配对它与onBackPressed()方法关闭而抽屉按后退按钮。

@Override 
public void onBackPressed() { 
    mSlidingMenu.toggleDrawer(); 
} 
+0

我使用的代码功能的外部类。我怎么能在函数中使用onbackpressed? – user3243573

+0

如果您可以引用mSlidingMenu对象,那么您可以重写onBackPressed()活动方法,并从引用对象中调用toggleDrawer()。 –

+0

如何添加对mSlidingMenu对象的引用?为每个函数创建新的mSlidingMenu和mSlidingMenu.toggleDrawer();不行。 – user3243573

@Override 
public void onBackPressed() { 
    if(mSlidingMenu.isClosed()) 
    { 
     super.onBackPressed(); 
    } 
    else 
    { 
     mSlidingMenu.closeLeftSide(); 
    } 
}