我目前正在实施一个后退按钮操作来导航webview历史记录。我的webview一直在工作(包括处理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历史导航。此外,我不确定如何发布我的日志猫和发布什么,所以如果有人可以请告诉我我需要发布的logcat哪个部分会很棒。谢谢!
答案 0 :(得分:0)
试试这段代码:
if((keyCode==KeyEvent.ACTION_DOWN)){
if(mWebView.canGoBack() == true){
mWebView.goBack();
}else{
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);