Java J2ME文本字段异常

Java J2ME文本字段异常,java,java-me,textfield,numeric,lcdui,Java,Java Me,Textfield,Numeric,Lcdui,当我实例化一个textField时,我在其中有一个数字,我想成为默认文本。问题是,我似乎无法将该值放入textfield而不出错。奇怪的是,我使用同一文本字段来设置包含数字的变量的值 TextField myTF = new TextField("Number", value, 10, TextField.NUMERIC); 运行此代码时,我收到一个异常,指出该值与TextField.NUMERIC的约束不匹配。但是,当我检查变量值的值时,我得到以下输出: value = 1

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

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

value          = 1234567890
value.length() = 10

该值由保存到我正在使用的手机上的同一文本字段设置,当从手机设置加载时,抛出异常

这肯定是一个JVM错误。如果
TextField
返回字符串,则必须能够接受该字符串。我唯一能给你的建议就是对场地的大小或约束进行一些调整。你还没有指定你正在使用的设备,可能有一些新的固件修复了错误。

这肯定是一个JVM错误。如果
TextField
返回字符串,则必须能够接受该字符串。我唯一能给你的建议就是对场地的大小或约束进行一些调整。您尚未指定正在使用的设备,可能会有一些新固件对其进行了错误修复。

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

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

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

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

我也有同样的问题。手机正在尝试将字段值存储为int,最大int值为(2^31)-1=2147483647,这比你(和我)需要的少了一位数。解决方法是,将字段设置为文本类型,并将字符集设置为IS_LATIN_数字。干杯。

我也有同样的问题。手机正在尝试将字段值存储为int,最大int值为(2^31)-1=2147483647,这比你(和我)需要的少了一位数。解决方法是,将字段设置为文本类型,并将字符集设置为IS_LATIN_数字。干杯。

我的想法是你试试看

String str=""+value;
TextField myTF = new TextField("Number",str,10,TextField.NUMERIC);
我的想法是你试试看

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