2016-03-26 94 views
0

我目前正在實施用於瀏覽webview歷史的後退按鈕操作。我的webview一直在工作(包括處理web視圖中的開放鏈接)。但是,添加後退按鈕操作後,每次嘗試使用後退按鈕時都會崩潰。這是我的主要活動代碼:操作欄後退按鈕在WebView上崩潰

public class MainActivity extends Activity { 

WebView mWebView; 
//Back Button Code 
@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 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(amapps.com.uhss.R.layout.activity_main); 
    WebView mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.setWebViewClient(new WebViewClient()); 

    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(false); 
    mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.loadUrl("http://uhsswordandshield.com/"); 
    mWebView.getSettings().setSupportMultipleWindows(true); 



} 

有人能告訴我什麼是錯的代碼。我相信它與我的
WebView mWebView有關;在我初始化webview之前聲明瞭 。但我不確定有什麼辦法來處理webview歷史導航。另外,我不確定如何發佈我的日誌貓以及發佈什麼內容,如果有人可以告訴我需要發佈的日誌文件的哪一部分,那就太好了。謝謝!

回答

0

試試這個代碼:

if((keyCode==KeyEvent.ACTION_DOWN)){ 

     if(mWebView.canGoBack() == true){ 
       mWebView.goBack(); 
      }else{ 
       finish(); 
      } 

     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
+0

我會在哪裏把這個 – Mike

+0

若超出如果上創建我怎麼申報mWebView或者我如何使它成爲一個全局變量 – Mike

+0

投入的onkeydown方法這個代碼,而不是你的代碼。 –