0

I use simple sidebar drawer and i want when user back pressed if drawer open close and when close activity finish. This library have not this function default. I use below code but not work :(

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;
    }
});
Tomasz Jakub Rup
  • 10,502
  • 7
  • 48
  • 49
bnnoor
  • 656
  • 2
  • 13
  • 31

2 Answers2

0

toggleDrawer() method can be used to toggle between opening and closing of the drawer. So pair it up with onBackPressed() method to close the drawer while pressing back button.

@Override
public void onBackPressed() {
    mSlidingMenu.toggleDrawer();
}
capt.swag
  • 10,335
  • 2
  • 41
  • 41
  • i use code in function external class . how i can use onbackpressed on function? – bnnoor Dec 24 '15 at 18:56
  • If you have reference to the mSlidingMenu object, then you can override the onBackPressed() method of activity, and call toggleDrawer() from the reference object. – capt.swag Dec 24 '15 at 18:59
  • how i can add reference to mSlidingMenu object? for each function create new mSlidingMenu and mSlidingMenu.toggleDrawer(); not work. – bnnoor Dec 24 '15 at 19:06
0
@Override
public void onBackPressed() {
    if(mSlidingMenu.isClosed())
    {
        super.onBackPressed();
    }
    else
    {
        mSlidingMenu.closeLeftSide();
    }
}
indrajeet
  • 341
  • 5
  • 9