koltin使用webview报如下错误:
java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter favicon
at com.south.navi.web.WebActivity$openUrl$1$webViewClient$1.onPageStarted(Unknown Source:14)
at PH.onPageStarted(HwWebview-11.1.5.315.3337:2)
at J5.handleMessage(HwWebview-11.1.5.315.3337:139)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8668)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)
用java语言使用WebView正常,不会出现闪退现象,原因是:
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap) {
super.onPageStarted(view, url, favicon)
}
onPagestarted函数中favicon字段为空,kotlin本身调用时候认为为非空的数据,而使用时却为空,所以引起崩溃。
解决方案:
直接把favicon这个变量设置可为空这样就可以解决问题了,希望可以帮到你,直接上代码:
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
}