如何使用Android Kotlin在WebView中加载URL?
我对Android和Kotlin都是新手。
任何人都可以帮我在webView
加载一个URL?
我只是想加载的url和查看应用程序打开时的网页。
1.activity_main.xml
2.MainActivity.kt
class MainActivity : AppCompatActivity() { var mywebview: WebView? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mywebview = findViewById(R.id.webview) mywebview!!.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean { view?.loadUrl(url) return true } } mywebview!!.loadUrl("https://www.google.co.in/") } }
添加到您的活动:
@SuppressLint("SetJavaScriptEnabled") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_webview) val mWebView = findViewById(R.id.webview) val webSettings = mWebView.settings webSettings.javaScriptEnabled = true mWebView.loadUrl(getString(R.string.website_url)) mWebView.webViewClient = HelloWebViewClient() WebView.setWebContentsDebuggingEnabled(false) }
并将以下内容添加到HelloWebViewClient()
类中,以允许后退按钮导航和出站外部链接:
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean { if (Uri.parse(url).host == getString(R.string.website_domain)) { return false } val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) startActivity(intent) return true } override fun onPageFinished(view: WebView, url: String) { // TODO Auto-generated method stub super.onPageFinished(view, url) } } override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) { webview.goBack() return true } return super.onKeyDown(keyCode, event) }
添加定义website_domain
( https://stackoverflow.com/ )和website_host
(stackoverflow.com)的字符串。
如果您为了达到目标而遇到困难,请尝试此完整示例,并按照说明进行操作,以便只需编辑网站的URL和干净的域名即可。