如何在Kotlin的android studio中创建按钮数组?我已经在xml文件中创建了带有其ID的按钮,现在我想在Kotlin代码中使用与数组元素相同的按钮。
我尝试过这样的事情:
var buttons: Array<Button> = array(25)
然后:
buttons[0] = btn1 // btn1 as the id from xml file
但是xml中的按钮名称在kotlin文件中不起作用,如何使用它们?
答案 0 :(得分:2)
假设您具有这样的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible"
android:orientation="vertical">
<Button android:id="@+id/btOne" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="one"/>
<Button android:id="@+id/btTwo" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="two"/>
<Button android:id="@+id/btThree" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="three"/>
</LinearLayout>
首先,使用{p> 1在您的build.gradle
中将kotlin扩展插件应用于句法语法
apply plugin: 'kotlin-android-extensions'
然后,您只需执行以下操作即可在代码中初始化一系列按钮:
val buttons = arrayOf(btOne, btTwo, btThree)
否则,如果您不想使用kotlin语法,只需使用旧的findviewbyid语法
val buttons = arrayOf(
findViewById(R.id.btOne),
findViewById(R.id.btTwo),
findViewById<Button>(R.id.btThree)
)