试图用kotlin实现webView,但出现错误错误1-java.lang.NullPointerException:试图对null对象引用调用虚拟方法"void android.webkit.WebView.loadUrl(java.lang.String("访问com.abc.MainActivity.onAviationItemSelected错误2-E/cr_PlatformSer-Internal:UsageReporting查询失败E/cr_PlatformSer-Internal:无法确定安全浏览用户选择加入首选项
主要活动.kt-
val webView: WebView? = findViewById<WebView>(R.id.webView)
webView?.webViewClient = WebViewClient()
setContentView(R.layout.fragment_privacy)
val url: String = intent.getStringExtra("https://www.geeksforgeeks.org/") ?: "Privacy"
privacyfragment.kt-
class privacyfragment {
fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_privacy, container, false)
}
}
在使用setContentView
为"活动"设置布局之前,您正在尝试查找R.id.webView
。你需要按以下顺序进行:
setContentView(R.layout.fragment_privacy)
val webView = findViewById<WebView>(R.id.webView)
这样,findViewById
就可以访问"活动"的view
(现已创建(并进行搜索。此外,如果您希望WebView
在那里,则没有必要使webView
为null——如果它为null并导致崩溃,那是因为您有一个需要修复的问题。
但如果您试图添加Fragment
,用片段的布局XML调用setContentView
是不行的——这只是在Activity
中放置相同的视图,那里没有Fragment
。阅读本指南,了解Fragments
以及添加它们和在它们之间导航的不同方式。
如果您正在创建一个包含WebView
的Fragment
,那么您应该在Fragment
中完成它的所有设置(包括findViewById
(。试着从Activity
(以及所有涉及的协调(来戳它会给你带来很多问题。您的CCD_ 17总是可以调用CCD_;加载这个URL";,CCD_ 19本身应该是直接与CCD_ 20 对话的东西
我能够作为完成
主要活动.kt
setContentView(R.layout.fragment_privacy)
val webView = findViewById<WebView>(R.id.webView)
webView.webViewClient = WebViewClient()
webView.settings.javaScriptEnabled = true
webView.loadUrl("add your url here")