@Override
public void onBackPressed() {
//如果侧边栏显示,则退出应用
if (mSlidingMenu.isMenuShowing()) {
finish();
System.exit(0);
} else
//否则显示侧边栏
mSlidingMenu.showMenu(); }
原本希望在SlidingMenu左侧边栏显示状态下按返回键退出应用程序。
可是在侧边栏显示状态下按了返回键之后不仅没有退出应用,反而隐藏了侧边栏显示出主界面。
考虑了好久,在网上也搜了,也没有找到满意的解决方案。烦请大侠们指点一下

解决方案 »

  1.   

    public boolean onKeyDown(int keyCode, KeyEvent event) {
            if(mSlidingMenu.isMenuShowing()){
                mSlidingMenu.toggle();
                return false;
            }else {
                exit();                    //如果侧滑栏展示则关闭,否则再按一次退出程序
                return false;
            }
            /*if (keyCode == KeyEvent.KEYCODE_BACK) {
                exit();
                return false;
            }*/
        }
        public void exit() {
            if ((System.currentTimeMillis() - exitTime) > 2000) {
                Toast.makeText(getApplicationContext(), "再按一次退出程序",
                        Toast.LENGTH_SHORT).show();
                exitTime = System.currentTimeMillis();
            } else {
                finish();
            }
        }