我在mgwt应用程序中使用MDoubleBox小部件,但是使用setValue方法初始化值时遇到问题(也适用于setText)。
当作为提供空值的参数提供时,内部被解析为包含分组或小数分隔符(即包含小数或大于999)的任何双打都将失败。相应的gwt DoubleBox工作正常。我目前在非默认语言环境中运行它,但同样的结果也适用于美国语言环境。
我可以使用MTextBox作为解决方法,如果有办法强制数字键盘显示为用户输入这些字段的输入。有吗?
关于MDoubleBox用法,我有什么遗漏?
.ui.xml:
<mgwt:input.MDoubleBox ui:field="field1"/>
<gwt:DoubleBox ui:field="field2"/>
代码:
@UiField MDoubleBox field1;
@UiField DoubleBox field2;
field1.setValue(1234.56);
field2.setValue(1234.56);
输出:
<blank>
1,234.56
答案 0 :(得分:0)
这是因为DoubleBox
实际上是<input type="text">
所以"1,234.56"
很好。但MDoubleBox
为<input type="number">
,且限制性更强,不允许,
中NumberFormat.getDecimalFormat().format(object)
生成的DoubleRenderer
字符。
接受小数,您可以configure them。
要解决此问题,您必须深入挖掘MDoubleBox
并使用其他SDoubleBox
来避免使用DoubleRenderer
。
编辑: 我为MGWT发送了pull request,您可以查看它以帮助您解决此问题。