Android DataBinding float 到 TextView

标签 android android-databinding

我正在尝试绑定(bind):

 @Bindable
public float getRoundInEditAmount()
{
    return roundInEdit.getAmount();
}

@Bindable
public void setRoundInEditAmount(float amount)
{
    roundInEdit.setAmount(amount);
    notifyPropertyChanged(BR.roundInEditAmount);
}

 <EditText
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:inputType="numberDecimal"
            android:text="@={`` + weightSet.roundInEditAmount}"
            ></EditText>

但是,在单击 EditText 时,我看到的是文本输入而不是数字键盘。如果我再次单击此 EditText,则会看到数字键盘。如果该字段默认为 50.0 或其他值,我无法删除这些金额。我可以输入文本,但它确实存在。

有没有其他人遇到过第一次点击时出现文本输入而不是数字键盘的这种行为? EditText 上的两种方式绑定(bind)是否也按照我期望的方式工作。我已经编写了自己的 Binding 和 InverseBinding 适配器,它们的行为方式相同 -> 第一次单击时输入 TextInput,第二次单击时输入数字键盘,但您无法删除开头的数字。

最佳答案

这样试试

<EditText
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:inputType="numberDecimal"
            android:text="@={String.valueOf(weightSet.roundInEditAmount)}"/>

关于Android DataBinding float 到 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41154446/

相关文章:

android - Activity 什么时候在 Android 中接收广播

android - 如何将模型/POJO 与 android 数据绑定(bind)、房间和改造一起使用?

Android数据绑定(bind),如何在drawable中绑定(bind)数据?

android - Kotlin DataBinding 将静态函数传递到布局 xml

Android - 如何将字体分配给 NumberPicker

android - 对讲正在宣布隐藏的观点

android - 构建从 Eclipse git 导入的项目作为 Android 项目

android - 无法运行 react-native 应用程序 android。在与 react-native-wheel-picker 相关的 metro bundler 中出现语法错误

android - Android 的 DataBinding 是否与 Transitions/Scenes 框架一起工作?

java - 数据绑定(bind)事件监听器