[英]How to open activities with multiple buttons in Kotlin
我有一个带有 3 个按钮的活动,我希望每个按钮都能引导其他活动。 我用 KOTLIN 编码!
XML代码
<Button
android:id="@+id/btn_1"
android:layout_width="150dp"
android:layout_height="48dp"
android:layout_marginTop="32dp"
android:background="@drawable/custom_buttons"
android:text="Characters"
android:textColor="@color/white"
android:textStyle="normal"
app:flow_verticalAlign="top"
app:layout_constraintBottom_toBottomOf="@+id/imageView4"
app:layout_constraintEnd_toEndOf="@+id/imageView4"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:layout_constraintVertical_bias="0.31" />
<Button
android:id="@+id/btn_2"
android:layout_width="150dp"
android:layout_height="48dp"
android:background="@drawable/custom_buttons"
android:text="Matchs Up"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/imageView"
app:layout_constraintTop_toBottomOf="@+id/imageView4"
app:flow_verticalAlign="center"/>
<Button
android:id="@+id/btn_3"
android:layout_width="150dp"
android:layout_height="48dp"
android:background="@drawable/custom_buttons"
android:text="glossary"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="@+id/imageView5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/imageView5"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
MainActivity.KT
val button: Button = findViewById<Button>(R.id.btn_1)
val button: Button = findViewById<Button>(R.id.btn_2)
val button: Button = findViewById<Button>(R.id.btn_3)
button.setOnClickListener{
val intent = Intent(this, Page1::class.java)
startActivity(intent)
}
button.setOnClickListener{
val intent = Intent(this, Page2::class.java)
startActivity(intent)
}
button.setOnClickListener{
val intent = Intent(this, Page3::class.java)
startActivity(intent)
}
我在“val button: Button”上有一个红色错误 -> Conflicting declarations: val button: Button, val button: Button。
我做错了什么,请问有更好的方法吗?
在同一个 scope 中不能有 2 个或多个同名变量。
val button
的意思是: “创建一个名为 button 的新(不可变)变量”。 要解决此问题,请为每个变量分配一个唯一名称。 例如:
val button1: Button = findViewById<Button>(R.id.btn_1)
val button2: Button = findViewById<Button>(R.id.btn_2)
val button3: Button = findViewById<Button>(R.id.btn_3)
button1.setOnClickListener{
val intent = Intent(this, Page1::class.java)
startActivity(intent)
}
button2.setOnClickListener{
val intent = Intent(this, Page2::class.java)
startActivity(intent)
}
button3.setOnClickListener{
val intent = Intent(this, Page3::class.java)
startActivity(intent)
}
我假设您是 Kotlin 的新手。 强烈建议查看官方 Kotlin 文档并阅读 Kotlin 中的基本语法或变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.