【发布时间】:2021-12-22 10:27:11
【问题描述】:
当我尝试处理 webView 上的错误“修改器'覆盖'不适用于'本地函数'”时出现此错误
如果我在此处删除“覆盖”一词,应用程序会运行,但 webView 不会处理错误,如果我添加“覆盖”一词,则应用程序不会运行
override fun onReceivedError(view: WebView, request: WebResourceRequest, error: WebResourceError) {
webView.loadUrl("about:blank")
Toast.makeText(this, "Favor de conectarse a la red de EJ", Toast.LENGTH_SHORT).show()
}
这是我的全部代码,目标是在 webView 没有加载目标页面时显示一条消息并加载一个空白页面
package com.example.myApp
import android.os.Bundle
import android.view.WindowManager
import android.webkit.*
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
private val BASE_URL = "http://myPage/instruccion/"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView.webChromeClient = object : WebChromeClient() {
}
webView.webViewClient = object : WebViewClient() {
}
val settings :WebSettings = webView.settings
settings.javaScriptEnabled = true
settings.builtInZoomControls = true
settings.setSupportZoom(true)
webView.loadUrl(BASE_URL)
window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
override fun onReceivedError(view: WebView, request: WebResourceRequest, error: WebResourceError) {
webView.loadUrl("about:blank")
Toast.makeText(this, "Favor de conectarse a la red de EJ", Toast.LENGTH_SHORT).show()
}
}
override fun onBackPressed() {
if (webView.canGoBack()) {
webView.goBack()
} else {
super.onBackPressed()
}
}
}
【问题讨论】:
标签: android kotlin webview overriding