Android EditText 2 方式绑定观察旧值

问题描述

每当我在 EditText 中插入一个字母时。观察到的值是我之前插入的值,例如 - 如果我写“Hello”,变量会变成“Hell”,如果我在变量中有“Hell”(和 EditText ofc 中的“Hello”)并且我删除一个信,变量得到“你好”这是我的代码

<EditText
    style="@style/form_input_edit_text"
    android:layout_height="200dp"
    android:paddingTop="20dp"
    android:maxLines="7"
    android:scrollbars="vertical"
    android:gravity="top|start"
    android:hint="@string/insert_description"
    android:inputType="textMultiLine"
    tools:ignore="Autofill,LabelFor"
    app:layout_constraintTop_toBottomOf="@+id/photo_button_container"
    android:text="@={viewmodel.description}"/>
<style name="form_input_edit_text">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">50dp</item>
    <item name="android:background">@drawable/custom_edit_text</item>
    <item name="android:layout_marginTop">20dp</item>
    <item name="android:paddingStart">20dp</item>
    <item name="android:paddingEnd">20dp</item>
</style>
class CompleteProfileviewmodel(private val callbacks: CompleteProfileFragment.Callbacks?): viewmodel() {

    var description: mutablelivedata<String> = mutablelivedata()
        get() {
            callbacks?.onAtLeastOneDetailSet(field.value?.isNotEmpty() ?: false || isPhotoSet,field.value)
            return field
        }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)