【问题标题】:Android two way data binding with float MutableLiveDataAndroid 与 float MutableLiveData 的双向数据绑定
【发布时间】:2022-11-22 08:12:53
【问题描述】:

我需要从 EditText 到 MutableLiveData 的两种数据绑定方式。 一种方法工作正常,从 LiveData 到 View:

@BindingAdapter("app:dtm")
fun AppCompatEditText.conversion(value: Float) {
Log.d("DTAG","Find")
setText(value.toString())
}

但另一方面,从 EditText 到 MutableLiveData 我无法设置:

@InverseBindingAdapter(attribute = "app:dtm", event = 
"android:textAttrChanged")
fun AppCompatEditText.conversion(): Float {
Log.d("DTAG","John Connor")
return this.text.toString().toFloat()
}

它导致两个绑定适配器之间的循环

我究竟做错了什么?

我的变量:

var a1CValue = MutableLiveData(7.0f)

看法:

<androidx.appcompat.widget.AppCompatEditText
            android:id="@+id/firstText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:selectAllOnFocus="true"
            app:dtm="@={dataModel.a1CValue}"
            tools:text="1.2" />

【问题讨论】:

    标签: android kotlin android-databinding


    【解决方案1】:

    有运气解决这个问题吗?我也有同样的问题。所有的解决方案都给出了相同的答案,但我的键盘死机了,我必须重置手机。

    【讨论】:

    猜你喜欢
    • 2019-12-24
    • 2020-11-26
    • 1970-01-01
    • 2021-03-14
    • 2021-11-01
    • 2017-12-20
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    相关资源
    最近更新 更多