如何解决在Android DataBinding中,如何从editText获取整数并由Kotlin使用它
我想通过以下示例在Kotlin的Android中使用DataBinding 我有两个带有一个按钮的EditText和位于它们下方的两个TextView,每当我单击按钮时,我都希望在EditTexts中输入的文本将显示在两个TextView中。 我有用户类(模型),并且如果此类的两个字段为String,则一切正常,我的代码正常工作,但是我的问题是,当一个字段为整数时,出现此错误: 找不到符号导入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>
</layout>
和用户类代码:
data class User (var name : String ="",var age :Int =0) {
}
和MainActivity代码:
解决方法
在textView中,您使用的android:text="@={myUser.age}"
引起了问题,因为您的myUser.age
是integer
,并且您无法在textView中设置integer
的值。
更改:-
"@={myUser.age}"
至
@={Integer.toString(myUser.age)}
问题将得到解决。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。