2015-06-26 60 views
-4

您好我正在開發Android應用程序,我正在使用一個Web視圖。我的網絡視圖有一些重定向到不同鏈接的數據。所以當我點擊它應該回到以前的內容。最後,它應該關閉網頁視圖,當涉及到着陸頁。我試圖在以下幾個方面:Android後退按鈕,網頁瀏覽功能不能正常工作

webView = new WebView(this); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      if (url.contains(URLManager.URL_DICOM_BACK_PRESSED_URL)) { 

       processBackPressed(); 
       return true; 
      } else { 

       return super.shouldOverrideUrlLoading(view, url); 
      } 
     } 

     @Override 
     public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
      if (failingUrl.contains(URLManager.URL_DICOM_BACK_PRESSED_URL)) { 
       processBackPressed(); 
      } else { 
       showError("Server unreachable"); 
      } 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
     } 
    }); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.loadUrl(url); 

@Override 
public void onBackPressed() { 

    if (webView != null && webView.canGoBack()) {   

     webView.goBack(); 
    } else {    

     processBackPressed(); 
    } 
} 

所以問題是,每當它回來前一頁它的拳頭顯示當前頁面,然後以前page.So看起來像第一次刷新頁面,然後加載以前的URL。我做錯了什麼?需要一些幫助。謝謝。

+0

嘗試完成()而不是使用回壓? – Mano

+1

題外話:*尋求調試幫助的問題(「爲什麼不是這個代碼工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現它所需的最短代碼。*什麼是processBackPressed ?還有如何看起來頁面轉換(fx當URL_DICOM_BACK_PRESSED_URL被擊中)? ...有這麼少的信息(特別是沒有「工作不正常」的定義)只有你可以解決你的問題... – Selvin

回答

1

試試這個 -

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

    } 
    return super.onKeyDown(keyCode, event); 
} 
相關問題