1

我正在使用 WebView 在应用程序中显示 url。当我单击设备中的后退按钮时,它会终止并关闭应用程序。例如:我将链接作为

w.loadUrl("http://www.google.com");

在那里我正在搜索,它会转到 webview 中的下一页。但是当我点击返回时

button 键,它会关闭应用程序,而不是返回到我搜索的历史记录。

如何解决这个问题。?这里面有什么要给的,如果是的话,应该给什么?

@Override
public void onBackPressed() { }

提前致谢。

4

4 回答 4

2

如果您想浏览您的历史记录,webview请将以下代码添加到您的webview活动中

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
         mWebView.goBack();
         return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2013-02-05T06:01:16.287 回答
1

你可以看到链接或下面的代码: -

如果在 WebView 中按下后退按钮,如何返回上一页?

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(event.getAction() == KeyEvent.ACTION_DOWN){
        switch(keyCode)
        {
        case KeyEvent.KEYCODE_BACK:
            if(mWebView.canGoBack() == true){
                mWebView.goBack();
            }else{
                finish();
            }
            return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}
于 2013-02-05T06:04:20.493 回答
0

在这种情况下,您需要通过此代码覆盖后退按钮,您可以覆盖后退按钮

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {                                              
    if (keyCode == KeyEvent.KEYCODE_BACK)  {
         moveTaskToBack(true);
         return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2013-02-05T06:04:38.857 回答
0

你可以使用下面的代码,它对我有用。

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (Integer.valueOf(android.os.Build.VERSION.SDK) < 7 
            && keyCode == KeyEvent.KEYCODE_BACK
            && event.getRepeatCount() == 0) {
        // Take care of calling this method on earlier versions of
        // the platform where it doesn't exist.
        onBackPressed();
    }
    return super.onKeyUp(keyCode, event);
}

@Override
public void onBackPressed() {
    return;
}
于 2013-02-05T08:20:24.247 回答