为啥 Go Back 不能使用此源代码在 webview android 应用程序中工作?
Posted
技术标签:
【中文标题】为啥 Go Back 不能使用此源代码在 webview android 应用程序中工作?【英文标题】:Why Go Back isn't working in webview android app with this source code?为什么 Go Back 不能使用此源代码在 webview android 应用程序中工作? 【发布时间】:2022-01-15 08:38:47 【问题描述】:我为我的网站创建了一个 webview 应用程序,并且我是 android 开发的初学者。我尝试了很多方法,但我的代码仍然无法正常工作。当我运行我的应用程序时,我的应用程序有两个活动,一个启动屏幕和一个主活动,它工作正常,但是当我试图突然返回时,应用程序崩溃或完全退出。
package com.geroifydevelopers.geroify;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
public class SplashScreen extends AppCompatActivity
private WebView webView;
@SuppressLint("SetjavascriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
WebView myWebView = (WebView) findViewById(R.id.webviewID);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("https://geroify.com/");
@Override
public void onBackPressed()
if (webView.canGoBack())
webView.goBack();
else
finish();
【问题讨论】:
【参考方案1】:导致崩溃是因为您的变量 webView
是 null
,因为您在 onCreate()
方法中初始化了一个新变量 (myWebView)。
删除WebView myWebView = (WebView) findViewById(R.id.webviewID)
并更改为webView = (WebView) findViewById(R.id.webviewID)
【讨论】:
以上是关于为啥 Go Back 不能使用此源代码在 webview android 应用程序中工作?的主要内容,如果未能解决你的问题,请参考以下文章