使用Kotlin在Android Studio中创建按钮

时间:2018-12-17 00:22:53

标签: android button kotlin android-studio-3.0

这是我在activity_main.xml中的按钮

    <Button
        android:text="@string/fs"
        android:layout_width="154dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        app:layout_constraintTop_toBottomOf="@+id/textView" 
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp" 
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" 
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp" android:layout_marginBottom="32dp"
        app:layout_constraintBottom_toTopOf="@+id/imageView" 
        app:layout_constraintHorizontal_bias="0.451"
        app:layout_constraintVertical_bias="0.069" android:id="@+id/button2"
        style="@style/Widget.AppCompat.Button" 
        android:background="@android:color/holo_green_dark"
        android:onClick="flowerpage"/>

这是我相信Mainactivity.kt所创建的按钮

fun flowerpage(view: activity2) {
}

我不是Kotlin的新手,但是我曾经使用HTML,可以通过HTML链接将两个网页连接在一起,但是,这似乎并不简单。

    button2.setOnClickListener {flower_button()}

这显示了编译器错误。我错过了进口吗??

2 个答案:

答案 0 :(得分:2)

使用kotlin,您只需要在XML中为按钮提供一个ID,然后您就可以这样做:

btn_id_you_gave.setOnClickListener {doSomething()}

private fun doSomething() {...}

您不需要在XML中执行您想充分利用Kotlin的OnClick事情。

答案 1 :(得分:0)

尝试以下代码将Button与Kotlin代码连接:

val btn_click_me = findViewById(R.id.button2) as Button

// set on-click listener
btn_click_me.setOnClickListener {

// your code to perform when the user clicks on the button

}

在这里,您尝试通过其id button2调用该按钮,然后在setOnClickListener上执行您想要的操作。