0

我正在尝试获取EditText用户输入的整数值。

EditText eTextValue=(EditText) findViewById(R.id.eId); 
String eTextString=eTextValue.getText().toString();
int eTextValue1=Integer.parseInt(eTextString);

但不幸的是,我得到了,

无法将 9827328 解析为整数。

我尝试过使用Integer.valueOf而不是,Integer.parseInt但我又遇到了同样的异常。

我什至使用Long数据类型而不是类型数据类型来存储值,int但似乎没有任何效果。对此的任何帮助将不胜感激。我已经浏览了所有这些链接,无法将 ' ' 解析为 android 中的整数,EditText 解析值......但似乎没有任何工作,所有这些都让我陷入了异常。

4

4 回答 4

4

您正在使用eTextValue两个不同事物(一个 int 和一个 EditText)作为变量名。你不能这样做并期望它能够正常工作。改变一个或另一个,它应该会更好地工作。

于 2012-12-25T15:19:33.360 回答
0
int id;
id=Integer.parseInt(ed.getText().toString());
于 2012-12-25T15:32:09.290 回答
0

尝试在相应 EditText 元素下的 XML 文件中输入以下内容。

安卓:inputType="数字"

希望这能让你通过异常。

于 2012-12-25T19:17:38.007 回答
0

您需要检查您正在解析的字符串是否为整数。试试这个代码:

if (IsInteger(eTextString)
   int eTextValue1=Integer.parseInt(eTextString);

并添加此功能:

public static boolean IsInteger(String s)
{
   if (s == null || s.length() == 0) return false;
   for(int i = 0; i < s.length(); i++)
   {
      if (Character.digit(s.charAt(i), 10) < 0)
         return false;
   }
   return true;
}

我希望这有帮助

于 2013-06-27T03:19:21.180 回答