Создание кнопки в андроид студии с помощью kotlin - PullRequest
0 голосов
/ 17 декабря 2018

Это моя кнопка в 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 голосов
/ 17 декабря 2018

С kotlin вам просто нужно присвоить своей кнопке идентификатор в XML, тогда вы можете сделать это:

btn_id_you_gave.setOnClickListener {doSomething()}

private fun doSomething() {...}

Вам не нужно делать OnClick в XML, который вы хотите получитьМаксимальное преимущество Котлина.

0 голосов
/ 17 декабря 2018

Попробуйте следующий код для подключения 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

}

Здесь вы пытаетесь вызвать кнопку по ее идентификатору button2, и на setOnClickListener сделайте то, что вы хотите сделать.

...