在Android数据绑定中,如何从editText中获取整数并在Kotlin中使用它

在Android数据绑定中,如何从editText中获取整数并在Kotlin中使用它,android,kotlin,android-databinding,Android,Kotlin,Android Databinding,我想使用Kotlin在Android中的数据绑定,下面是一个例子 我有两个EditText,下面有一个按钮和两个文本视图,每当我单击按钮时,我希望我在EditText中输入的文本将显示在两个文本视图中。 我有一个用户类(模型),如果这个类的两个字段都是字符串,一切正常,我的代码工作正常,但我的问题是,当一个字段是整数时,我得到了以下错误: 找不到符号导入com.example.mydatabinding.databinding.ActivityMainBindingImpl 如果有人能帮助我,我

我想使用Kotlin在Android中的数据绑定,下面是一个例子 我有两个EditText,下面有一个按钮和两个文本视图,每当我单击按钮时,我希望我在EditText中输入的文本将显示在两个文本视图中。 我有一个用户类(模型),如果这个类的两个字段都是字符串,一切正常,我的代码工作正常,但我的问题是,当一个字段是整数时,我得到了以下错误: 找不到符号导入com.example.mydatabinding.databinding.ActivityMainBindingImpl

如果有人能帮助我,我将不胜感激

我的xml代码:

很抱歉,这个平台对我来说一点都不友好,我不能对所有的XML代码使用Ctrl K!!所以我每次都会带一些照片,一些是ctrl K的,因为我头痛得厉害! 让我们继续

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/user_name_edit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:hint="name ?"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/user_age_edit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:hint="age ?"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/user_name_edit" />

    <Button
        android:id="@+id/apply_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="Button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/user_age_edit" />

    <TextView
        android:id="@+id/user_name_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="@={myUser.name}"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/apply_btn" />

    <TextView
        android:id="@+id/user_age_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:text="@={myUser.age}"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/user_name_text" />
</androidx.constraintlayout.widget.ConstraintLayout>
}

和主要活动代码:


在文本视图中,您使用的是
android:text=“@={myUser.age}”
,这会导致问题,因为您的
myUser.age
integer
并且您无法在文本视图中设置
integer

更改:-

“@={myUser.age}”

@={Integer.toString(myUser.age)}


问题会得到解决。

你能在这里发布你的日志吗?另外请看一下你的主要活动代码:-
myUser?.age=userAgeText.text,toString().toInt()
它不应该是
user\u age\u edit
吗?我还把@={}改成了@{}来工作,如果我没有,它就不工作了
</layout>
data class User (var name : String ="" , var age :Int =0) {