Java J2ME文本字段异常
当我实例化一个textField时,我在其中有一个数字,我想成为默认文本。问题是,我似乎无法将该值放入textfield而不出错。奇怪的是,我使用同一文本字段来设置包含数字的变量的值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 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);