Kotlin中的按钮数组

时间:2019-03-22 14:34:47

标签: android arrays button kotlin

如何在Kotlin的android studio中创建按钮数组?我已经在xml文件中创建了带有其ID的按钮,现在我想在Kotlin代码中使用与数组元素相同的按钮。

我尝试过这样的事情:

var buttons: Array<Button> = array(25)

然后:

buttons[0] = btn1 // btn1 as the id from xml file

但是xml中的按钮名称在kotlin文件中不起作用,如何使用它们?

1 个答案:

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