[英]WebView back button issue in android
我正在使用WebView在應用程序中顯示url。當我單擊設備中的后退按鈕時,它會終止並關閉應用程序。 例如:我給鏈接為
w.loadUrl("http://www.google.com");
在我正在搜索,它進入webview內的下一頁。但是當我點擊回來
按鈕鍵,它關閉應用程序,而不是回到我搜索的歷史記錄。
如何解決這個問題。? 在這里給出的任何東西,如果是的話,應該給出什么?
@Override
public void onBackPressed() { }
提前致謝。
如果您想在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);
}
你可以看到鏈接或下面的代碼: -
@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);
}
在這種情況下,您需要通過此代碼覆蓋后退按鈕,您可以覆蓋后退按鈕
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
你可以使用下面的代碼,它對我有用。
@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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.