Android Webview 后退按钮事件

标签 android webview back-button back

为什么这段代码不起作用?

我在 stackoverflow 上搜索,尝试了几个代码,但它们都不起作用。

[主 Activity .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);
    }
}

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

最佳答案

您在 onCreate 方法中使用了局部变量 WebView webView = (WebView) findViewById(R.id.webview);

关于Android Webview 后退按钮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082698/

相关文章:

javascript - IE 找不到用 JS 创建的隐藏字段值

android - 重复的 v4 支持库

Android - 将 AppWidgets 添加到 Activity

objective-c - OSX 10.10.3 在 dealloc 上使 WebView 崩溃

Android WebView 性能

javascript - 从 Windows 应用程序中的 MainPage.xaml.cs 代码隐藏文件调用 javascript 函数

ios - 带有后退按钮的导航栏不隐藏

android - 许多库上的 APK META-INF 中复制的重复文件?

android - 重复使用以前的 Activity ?

android - Flutter中有WebView吗?