gpt4 book ai didi

android - Kotlin Android 启动新 Activity

转载 作者:IT老高 更新时间:2023-10-28 13:26:08 25 4
gpt4 key购买 nike

我想在 Android 上开始另一个 Activity ,但出现此错误:

Please specify constructor invocation; classifier 'Page2' does not have a companion object

在实例化 Intent 类之后。我应该怎么做才能纠正错误?我的代码:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}

fun buTestUpdateText2 (view: View) {
val changePage = Intent(this, Page2)
// Error: "Please specify constructor invocation;
// classifier 'Page2' does not have a companion object"

startActivity(changePage)
}

}

最佳答案

启动 Activity在java中我们写了Intent(this, Page2.class) ,基本上你必须定义Context在第一个参数和第二个参数中的目标类。根据Intent源代码中的方法 -

 public Intent(Context packageContext, Class<?> cls)

如您所见,我们必须通过 Class<?>输入第二个参数。

写信 Intent(this, Page2)我们从不指定我们将通过类(class),我们正在尝试通过 class Not Acceptable 类型。

使用 ::class.java这是 .class 的替代品在 Kotlin 。使用以下代码开始您的 Activity

Intent(this, Page2::class.java)

例子-

// start your activity by passing the intent
startActivity(Intent(this, Page2::class.java).apply {
// you can add values(if any) to pass to the next class or avoid using `.apply`
putExtra("keyIdentifier", value)
})

关于android - Kotlin Android 启动新 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com