簡體   English   中英

android中的WebView后退按鈕問題

[英]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);
}

你可以看到鏈接或下面的代碼: -

如果在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);
}

在這種情況下,您需要通過此代碼覆蓋后退按鈕,您可以覆蓋后退按鈕

@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM