You're overriding Activity.onKeyDown
, which Activity
already overrides when implementing Activity.onBackPressed
, then returning false
for KeyEvent.KEYCODE_BACK
which indicates that you have not handled this event and it should continue to be propagated.
To fix your problem stop overriding Activity.onKeyDown
. Also, change your Activity.onBackPressed
to call super
if the SlidingDrawer
isn't opened.
private SlidingDrawer slidingDrawer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
slidingDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer1);
}
@Override
public void onBackPressed() {
if (slidingDrawer.isOpened()) {
slidingDrawer.close();
} else {
super.onBackPressed();
}
}