草庐IT

Android DataBinding float 到 TextView

coder 2023-12-19 原文

我正在尝试绑定(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 DataBinding float 到 TextView的更多相关文章

  1. 【Android】获取TextView宽度或高度 - 2

    需要提前知道的一些东西Android中获取View的宽度或者高度,可以通过View自带的方法getWidth()、getHeight(),但这仅限于layout_width和layout_height的值是具体的dp或者match_parent,如果值是wrap_content,那么直接调用getWidth()、getHeight()方法,可能返回的会是0。直接调用getWidth()、getHeight()可能返回0的原因是,View可能还没有被添加到界面上(这里添加到界面上是指View执行了onMeasure方法),View添加到界面上之后,才计算完宽度和高度,所以如果宽度或高度如果设置w

  2. javascript - 使用转义键取消 Ember TextView 中的操作 - 2

    当用户在输入字段中按下转义键时,如何让Ember触发Controller操作?给定以下应用程序代码:App=Ember.Application.create();App.IndexRoute=Ember.Route.extend({model:function(){return{foo:"bar"};}});App.IndexController=Ember.ObjectController.extend({actions:{done:function(){console.log("done");},cancel:function(){console.log("cancel");}}}

  3. javascript - GJS:Gtk.TextView 按键事件不起作用 - 2

    我正在尝试使用gjs为gnome-shell创建简单的gtk应用程序。它的窗口只包含Gtk.TextView,我想在用户输入时处理事件。这是我的代码:#!/usr/bin/gjsvarGtk=imports.gi.Gtk;functionMainWindow(){this._init();}MainWindow.prototype={_init:function(){this.window=newGtk.Window({title:"JustCalculator",window_position:Gtk.WindowPosition.CENTER,default_height:400,

  4. 在listView中显示textView和firebase的图像 - 2

    我在数据库中有:我想将所有数据显示到ListView,没有错误,但没有向我展示文本和图像。我有一个模型类:publicclassModelClass{Stringtitle,image;publicModelClass(Stringtitle,Stringimage){this.image=image;this.title=title;}publicModelClass(){}publicStringgetTitle(){returntitle;}publicvoidsetTitle(Stringtitle){this.title=title;}publicStringgetImage(){r

  5. android - 当我将 ScrollView 放入其中时, TextView 的权重属性不会影响 Activity ? - 2

    我的XML文件的TextView权重属性有问题。我在没有ScrollView的情况下添加了Weight属性,当时它可以正常工作,但是当我添加ScrollView时它无法正常工作。解决方案可接受谢谢 最佳答案 实际上是scrollView没有达到全高,为此你应该添加android:fillViewport="true"在你的ScrollView中。你可以在这里查看我的答案AndroidTableLayoutinsideScrollView然后试试这个xml,我已经在我的机器上检查过了:--

  6. android - 使用左右对齐在屏幕上均匀分布 TextView - 2

    我想在屏幕宽度上隔开3个TextView,第一个TextView触及左边距,第三个TextView触及右边距。目前我能够实现以下目标:|文本[空间]文本[空间]文本[空间]|和|[空间]文本[空间]文本[空间]文本|和|[空间/2]文本[空间]文本[空间]文本[空间/2]|通过在水平ListView中分别设置左、右和中心重力。我要实现:|文本[空格]文本[空格]文本|但是我好像听不懂。这是我的XML:任何帮助将不胜感激。PS:我知道硬编码TextView文本是不好的。那只是暂时的。 最佳答案 你快到了。你错过了重力。更新:要居中超过

  7. java - textView setText() 空指针异常 - 2

    我有一个几乎完全是Vanilla的应用程序。我想要做的就是更改textView的文本,但它给了我一个NullPointerException。我没有XML配置,没有添加方法,没有什么特别的。我检查了我的类,它指向正确的XML,并且XML中确实有一个带有正确ID的textView元素。我还尝试在类级别的onCreate()之外创建textView实例,但无论如何应用程序都无法启动。我确定我忽略了简单,但我找不到答案。谢谢您的帮助。编辑:我意识到我需要移动这段代码以便它访问fragment资源,但是当我这样做时,它给我一个错误:无法从Activity类型对非静态方法findViewById

  8. android - 背景不会在多行 TextView 上换行 - 2

    我有以下TextView,layout_width设置为"wrap_content",就像这样这就是发生的事情: 最佳答案 我认为这正是TextView的工作原理。除非您指定固定的width或maxWidth,否则文本的“环绕”假定文本现在将填充可用的水平空间。您唯一的选择是编写您自己的TextView版本(或覆盖onMeasure方法)...但这可能会变得困惑和复杂。 关于android-背景不会在多行TextView上换行,我们在StackOverflow上找到一个类似的问题:

  9. java - 如何在 android TextView (answerview) 中显示分数而不是小数( double ) - 2

    我想在textView(answerview)中显示分数而不是小数值例如-1.0625(这个值是一些计算的结果)我想用分数显示1.0625(添加了示例图像[所需分数图像])就像textView中的1(1/16)。这不是一个常数值,这个值会根据用户的计算不断变化,所以对于每个答案我都想转换成分数并显示苏杰 最佳答案 使用kexanie这样做在您的情况下,您应该在MathView中设置文本[阅读kexanieREADME.md]Stringtext="$$"+var1+"\\frac{"+var2+"}{"+var3+"}$$";这里v

  10. android - 通过 XML 并将所有 TextView 设置为不可见 - 2

    嘿,这是我第一次尝试类似的事情,所以我不知道这是否接近最佳方式,但我认为它会奏效。我试图通过XML布局文件并将所有TextView设置为不可见。当调用以下方法时,我得到一个NullPointerExceptionpublicvoidnumPlayerSetup(){{for(inti=3;i如果您有任何建议,请告诉我。谢谢! 最佳答案 那么,ID会改变吗?如果没有,只需设置一个TextViewID的int[],并循环遍历这些ID,例如:int[]ids={R.id.tv1,R.id.tv2,R.id.tv3//...}for(int

随机推荐