Android Kotlin打开带有按钮的链接

时间:2019-02-12 23:26:02

标签: android kotlin

我尝试在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之后的上下文吗?

那是什么意思?

1 个答案:

答案 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

都可以。