Получение значения из EditText

Есть EditText поле. КАК передать то, что в него ввели в string?? Пытался следующим способом, но подсвечивает красным text между EditText и onString как Unresolved reference:

var editText = EditText.text.onString()

вот код кнопки

<EditText
        android:id="@+id/edit1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="100dp"
        android:layout_marginTop="128dp"
        android:ems="10"
        android:inputType="textPersonName"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

насколько знаю - не нужно где то доп. объявлять, так что просто (естественно после MainActivity класса):

    fun thirdact(view: View){
        var editText = EditText.text.onString()

    }

Ответы (1 шт):

Автор решения: Andrew

Я не очень понял как вы хотели получить доступ к такому полю для ввода. Если использовать Kotlin Android Extensions, то можно обратиться напрямую к полю из класса активности:

edit1.text

либо объявить данное поле и потом присвоить ему значение:

val field = findViewById< EditText>(R.id.edit1)
val string = field.text 

либо использовать dataBinding. Подключив при этом его в build.gradle:

android {
    ...
    buildFeatures {
        viewBinding = true
    }
}

и конвертировав ваш макет в dataBinding layout:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white"
        android:orientation="vertical">
         !!!! вот тут ваше наполнение может находится, родительский контейнер может быть другим
</androidx.appcompat.widget.LinearLayoutCompat>
</layout>

и дальше найти по ID:

val binding = DataBindingUtil.setContentView(this, R.layout.main_activity); 
binding.edit1.text

Вот есть полезная ссылка по dataBinding и вот туториал

→ Ссылка