Android Webview后退按钮事件

Android Webview后退按钮事件,android,webview,back-button,back,Android,Webview,Back Button,Back,为什么这个代码不起作用 我搜索了stackoverflow,尝试了几个代码,但都不起作用 [MainActivity.java] package com.example.jquery; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.Window; import android.webkit.WebSettings; import a

为什么这个代码不起作用

我搜索了stackoverflow,尝试了几个代码,但都不起作用

[MainActivity.java]

package com.example.jquery;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
    WebView webView;
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        WebView webView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("file:///android_asset/www/framework/lib/homescreen.html");

        return;
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        else
        {
            finish();
        }
        return super.onKeyDown(keyCode, event);
    }
}

当我按下Backbase按钮时,应用程序崩溃。

您需要更改webView变量以初始化类变量,而不是在onCreate()中重新创建webView变量

更改此行:

WebView webView = (WebView) findViewById(R.id.webview);
为此:

webView = (WebView) findViewById(R.id.webview);

您需要更改webView变量以初始化类变量,而不是在onCreate()中重新创建webView变量

更改此行:

WebView webView = (WebView) findViewById(R.id.webview);
为此:

webView = (WebView) findViewById(R.id.webview);


您使用了一个局部变量
WebView WebView=(WebView)findViewById(R.id.WebView)在创建方法中。

您使用了一个局部变量
WebView-WebView=(WebView)findViewById(R.id.WebView)
onCreate
方法中。

发布异常报告调试错误:哪一行是MainActivity中的第30行?第30行:if((keyCode==KeyEvent.keyCode\u BACK)&&webView.canGoBack()){您选择覆盖onKeyDown()而不是onBackPressed()是否有特定原因?发布异常报告调试错误:哪一行是MainActivity中的第30行?第30行:if((keyCode==KeyEvent.keyCode\u BACK)和&webView.canGoBack()){您选择重写onKeyDown()而不是onBackPressed()是否有特定原因?尝试过,应用程序崩溃。与此有关吗?:WebView WebView;它现在在哪一行崩溃?在检查是否可以返回时,由于某种原因,您的WebView似乎为空。如果检查,请在该行上设置断点,然后查看WebView是否为空。我怎么做?我是一名web开发人员,没有java开发人员:|仅将WebView用于HTMLEclipse中的ou?尝试只单击左边空白处的行号。应该会出现一个小错误图标。这意味着为该行设置了断点。尝试了,应用程序崩溃。这与此有关吗?:WebView WebView;它现在崩溃在哪一行上?当它检查是否可以返回时,出于某种原因,您的WebView看起来是空的。在if检查上设置一个断点,看看webView是否为null。我怎么做?我是一个web开发人员,没有java开发人员:|只在Eclipse中对HTMLAre使用webView?试着只单击左边空白处的行号。应该会出现一个小错误图标。这意味着为该行设置了一个断点。