简体   繁体   English

Kotlin WebView 在应用程序中不起作用,它只是打开 chrome

[英]Kotlin WebView doesn't work in app, it just opening chrome instead

I was trying to use WebView and normally it suppose to run website in webview right?我试图使用 WebView 并且通常它假设在 webview 中运行网站对吗?

But when I try to run my code, firstly app is opening and after a few seconds it's opening chrome.但是当我尝试运行我的代码时,首先应用程序正在打开,几秒钟后它正在打开 chrome。

Here's my kotlin codes这是我的 kotlin 代码

package com.example.webapp
    
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import android.view.KeyEvent
    import android.view.LayoutInflater
    import android.view.View
    import android.webkit.WebView
    import android.webkit.WebViewClient
    import com.example.onsbet.databinding.ActivityMainBinding
    
    
    class MainActivity : AppCompatActivity() {
    
        private lateinit var binding:ActivityMainBinding
        private val link = "https://www.mylink.com/"
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            binding = ActivityMainBinding.inflate(layoutInflater)
            setContentView(binding.root)
    
            binding.webView.apply {
                loadUrl(link)
            }
    
        }
    }

I tried it and it is opened correctly我试过了,它打开正确

Make sure you put the internet permission确保你把互联网许可

<uses-permission android:name="android.permission.INTERNET"/>

To open links clicked by the user, provide a WebViewClient for your WebView, using setWebViewClient().要打开用户单击的链接,请使用 setWebViewClient() 为您的 WebView 提供 WebViewClient。 Add this line below在下面添加这一行

binding.webView.webViewClient = WebViewClient()

The rest of your code is correct您的代码的 rest 是正确的

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.marwaeltayeb.androidkotlin.databinding.ActivityMainBinding
import android.webkit.WebViewClient

    class MainActivity : AppCompatActivity() {
    
        private lateinit var binding:ActivityMainBinding
        private val link = "https://www.google.com/"
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            binding = ActivityMainBinding.inflate(layoutInflater)
            setContentView(binding.root)
    
            binding.webView.webViewClient = WebViewClient()
            binding.webView.apply {
                loadUrl(link)
            }
        }
    }

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM