我尝试在Kotlin中使用按钮打开链接,但是如果我使用此代码
fun openNewTabWindow(urls: String, context: Context) {
val uris = Uri.parse(urls)
val intents = Intent(Intent.ACTION_VIEW, uris)
val b = Bundle()
b.putBoolean("new_window", true)
intents.putExtras(b)
context.startActivity(intents)
}
在我的按钮上,我使用
openNewTabWindows("https://Google.com/")
它说需要url之后的上下文吗?
那是什么意思?
答案 0 :(得分:1)
openNewTabWindow(urls: String, context: Context)
函数需要2个参数,一个String
和一个Context
。
在我的按钮中,我使用
openNewTabWindows("https://Google.com/")
您刚刚使用1个参数调用了此函数,然后当然
它说需要在url之后的上下文。
您需要传递Context
作为第二个参数。既然您说的是要实现单击按钮的操作(可能在@Override public void onClick(View v) {}
内,该按钮是Java中的(View) -> Unit
内部,或者Kotlin中的类型为Activity
的Lambda),并且this
的引用可能会更改,您可以传递getContext()
或例如MainActivity.this
作为程序所需的上下文,或者
openNewTabWindows("https://Google.com/", context) // Kotlin version of getContext()
openNewTabWindows("https://Google.com/", this@MainActivity) // Kotlin version of MainActivity.this
都可以。