【问题标题】:How to use DataBinding on EditViews如何在 EditViews 上使用 DataBinding
【发布时间】:2019-11-27 20:23:45
【问题描述】:

我一直在尝试制作一个登录和注销应用程序,但我仍然无法通过使用绑定从 EditViews 中获取文本来检查写入的数据 但是每次我尝试这个错误都会出现

****/ 数据绑定错误 ****msg:在 android.widget.TextView 上找不到参数类型为 androidx.lifecycle.LiveData 的属性“android:text”的设置器。 文件:C:\Users\mehmet\Desktop\andfun-kotlin-sleep-tracker-with-recyclerview\app\src\main\res\layout\register_layout.xml

这是布局中编辑视图的示例

<EditText
        android:id="@+id/email_editText_Register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:hint="@string/hint_email"
        android:importantForAutofill="no"
        android:inputType="textEmailAddress"
        **android:text="@{register.emailEditTextRegisterContext}"**
        app:layout_constraintEnd_toEndOf="@+id/editText2"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="@+id/editText2"
        app:layout_constraintTop_toBottomOf="@+id/editText2" />

这是它在 kotlin 中使用观察者类的变量

private val _emailEditTextRegisterContext = MutableLiveData<EditText>()
val emailEditTextRegisterContext: LiveData<EditText>
    get() = _emailEditTextRegisterContext

这是我用来获取文本的方法

 val emails = _emailEditTextRegisterContext.value?.text.toString()

【问题讨论】:

    标签: android kotlin mvvm data-binding android-databinding


    【解决方案1】:

    您应该使用 MutableLiveData&lt;String&gt;() 而不是 MutableLiveData&lt;EditText&gt;(),因为文本是字符串。

    【讨论】:

      猜你喜欢
      • 2016-05-16
      • 2020-04-30
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多