2016-03-26 65 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方法这个代码,而不是你的代码。 –