0

当我实例化一个 textField 时,我有一个数字,我想成为默认文本。问题是,我似乎无法将该值放入文本字​​段而不会出现错误。奇怪的是,我用同一个 TextField 来设置包含数字的变量的值。

TextField myTF = new TextField("Number", value, 10, TextField.NUMERIC);

当我运行此代码时,我收到一个异常,指出该值与 TextField.NUMERIC 的约束不匹配。但是,当我检查变量值的值时,我得到以下输出:

value          = 1234567890
value.length() = 10

该值由相同的 TextField 设置,保存到我正在使用的手机中,当从手机的设置中加载时,会引发异常。

4

4 回答 4

1

我也有同样的问题。手机试图将字段值存储为 int,最大 int 值为 (2^31) - 1 = 2,147,483,647,比您(和我)需要的少一位数。解决方法,将您的字段设为文本类型并设置 IS_LATIN_DIGITS 字符集。干杯。

于 2010-03-16T23:47:25.293 回答
1

这绝对是一个 JVM 错误。如果 aTextField返回一个字符串,它必须能够接受它。我唯一能建议的就是考虑场地的大小或限制。您尚未指定您正在使用的设备,可能有一些带有错误修复的新固件。

于 2009-06-30T17:07:18.177 回答
1

您的问题的一个潜在解决方法可能是使用空值实例化该字段,然后设置文本。

TextField myTF = new TextField("Number", null, 10, TextField.NUMERIC);
myTF.setString(value);
于 2009-06-30T17:11:33.210 回答
0

我的想法是你试试

String str=""+value;
TextField myTF = new TextField("Number",str,10,TextField.NUMERIC);
于 2010-11-24T04:25:21.383 回答