0

我的简单应用程序只是加载一个网站,网站上有一些主题,所以我想如果有人点击后退按钮返回到索引(到最后一个网页),我在 MainActivity.java 中有这段代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
    }
    return super.onKeyDown(keyCode, event);
}      
@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

按下返回按钮后,它正在关闭我的应用程序,哪里有问题?

4

2 回答 2

3

当 webView 在您的onKeyDown方法中使用 back 事件时,您应该返回 true。

   @Override
   public boolean onKeyDown(int keyCode, KeyEvent event)
  {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
   }

在您的代码中,您让后退事件传播到主 Activity,这意味着它将完成。

来源: http: //developer.android.com/reference/android/view/View.html#onKeyDown (int, android.view.KeyEvent)

返回如果您处理了事件,则返回 true。如果您想允许下一个接收者处理事件,请返回 false。

于 2013-07-19T16:19:35.830 回答
1
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2013-07-19T16:20:14.330 回答