在Android数据绑定中,如何从editText中获取整数并在Kotlin中使用它
我想使用Kotlin在Android中的数据绑定,下面是一个例子 我有两个EditText,下面有一个按钮和两个文本视图,每当我单击按钮时,我希望我在EditText中输入的文本将显示在两个文本视图中。 我有一个用户类(模型),如果这个类的两个字段都是字符串,一切正常,我的代码工作正常,但我的问题是,当一个字段是整数时,我得到了以下错误: 找不到符号导入com.example.mydatabinding.databinding.ActivityMainBindingImpl 如果有人能帮助我,我将不胜感激 我的xml代码: 很抱歉,这个平台对我来说一点都不友好,我不能对所有的XML代码使用Ctrl K!!所以我每次都会带一些照片,一些是ctrl K的,因为我头痛得厉害! 让我们继续在Android数据绑定中,如何从editText中获取整数并在Kotlin中使用它,android,kotlin,android-databinding,Android,Kotlin,Android Databinding,我想使用Kotlin在Android中的数据绑定,下面是一个例子 我有两个EditText,下面有一个按钮和两个文本视图,每当我单击按钮时,我希望我在EditText中输入的文本将显示在两个文本视图中。 我有一个用户类(模型),如果这个类的两个字段都是字符串,一切正常,我的代码工作正常,但我的问题是,当一个字段是整数时,我得到了以下错误: 找不到符号导入com.example.mydatabinding.databinding.ActivityMainBindingImpl 如果有人能帮助我,我
<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) {