android中调用Integer.parseInt方法报错

xl619569096 2013-11-04 11:52:25
为什么我获取intent传递的字符串后 通过Integer.parseInt转换会报错啊?
public class Skip extends Activity{
private TextView skipText;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.skip);
skipText=(TextView) findViewById(R.id.skipTest);
Intent intent=getIntent();
String oneStr=intent.getStringExtra("oneStr");
String twoStr=intent.getStringExtra("twoStr");
int oneq=Integer.parseInt(oneStr);
int twoq=Integer.parseInt(twoStr);
int sumq=oneq+twoq;
skipText.setText(""+sumq);
}

}

已经检查过了 两个String中都有值 我只要屏蔽掉Integer.parseInt方法 程序就可以运行
...全文
577 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
程大治 2014-06-15
  • 打赏
  • 举报
回复
你不能在intent中直接传递int吗?
禽兽猿 2014-06-15
  • 打赏
  • 举报
回复
我也碰到了 原因是val()方法好像是数字 不需要转换 比如+运算不是字符串连接,而是算术运算 text()才需要parstInt(..)
足球中国 2013-11-05
  • 打赏
  • 举报
回复
引用 8 楼 xl619569096 的回复:
[quote=引用 6 楼 a394268045 的回复:] oneStr,twoStr不是数字
要是这种错误的话 我就不用来发帖了[/quote] 既然有基础这样的问题再找不到原因。那不还是你的问题。 这个函数只有两个原因产生错误,一个是溢出一个是数据格式不对。没有其他的原因了。
罗小辉 2013-11-05
  • 打赏
  • 举报
回复
引用 9 楼 xl619569096 的回复:
[quote=引用 6 楼 a394268045 的回复:] oneStr,twoStr不是数字
好歹我也是干 java web的 这点我还是知道的 已经如果我不进行转换 直接以这种形式输出skipText.setText(oneStr+twoStr); 是可以执行的 比如我传递的 2和3 activity中也能看到 但是一旦通过Integer.parseInt转换就会出错 [/quote]
xl619569096 2013-11-05
  • 打赏
  • 举报
回复
引用 6 楼 a394268045 的回复:
oneStr,twoStr不是数字
好歹我也是干 java web的 这点我还是知道的 已经如果我不进行转换 直接以这种形式输出skipText.setText(oneStr+twoStr); 是可以执行的 比如我传递的 2和3 activity中也能看到 但是一旦通过Integer.parseInt转换就会出错
xl619569096 2013-11-05
  • 打赏
  • 举报
回复
引用 6 楼 a394268045 的回复:
oneStr,twoStr不是数字
要是这种错误的话 我就不用来发帖了
xl619569096 2013-11-05
  • 打赏
  • 举报
回复
引用 2 楼 zanfeng 的回复:
oneStr,twoStr为空或不是数字。
好歹我也是干 java web的 这点我还是知道的 已经如果我不进行转换 直接以这种形式输出skipText.setText(oneStr+twoStr); 是可以执行的 比如我传递的 2和3 activity中也能看到 但是一旦通过Integer.parseInt转换就会出错
罗小辉 2013-11-05
  • 打赏
  • 举报
回复
oneStr,twoStr不是数字
MR__P 2013-11-05
  • 打赏
  • 举报
回复
非数字的字符都会报错
MR__P 2013-11-05
  • 打赏
  • 举报
回复
如果你的字符串是“一百万”这种含有汉字的就会报错
依然绿茶 2013-11-05
  • 打赏
  • 举报
回复
楼主肯定定报的这个错:NumberFormatException 你的oneStr或者twoStr不能转换成整数。举个例子,oneStr或者twoStr的值为“你好,楼主”等等这样的字符串就会报错的,如果是“123”等这样的数字字符串就不会报这个错了,试试!
足球中国 2013-11-05
  • 打赏
  • 举报
回复
oneStr,twoStr为空或不是数字。
bnzx 2013-11-05
  • 打赏
  • 举报
回复
这部分代码没问题,主要看上一个activity给intent的值是什么。如果是字符串的话,就报错了。错误信息什么
xl619569096 2013-11-05
  • 打赏
  • 举报
回复
引用 11 楼 zanfeng 的回复:
[quote=引用 8 楼 xl619569096 的回复:] [quote=引用 6 楼 a394268045 的回复:] oneStr,twoStr不是数字
要是这种错误的话 我就不用来发帖了[/quote] 既然有基础这样的问题再找不到原因。那不还是你的问题。 这个函数只有两个原因产生错误,一个是溢出一个是数据格式不对。没有其他的原因了。[/quote] 我也正奇怪呢 如果非说我输入的不是数字的话 就只有一种解释了 模拟器自动给我的数字后面加上空格了 也就只有这样才能解释等下班回去试试 如果是这样就太蛋疼了
xl619569096 2013-11-05
  • 打赏
  • 举报
回复
引用 10 楼 a394268045 的回复:
[quote=引用 9 楼 xl619569096 的回复:] [quote=引用 6 楼 a394268045 的回复:] oneStr,twoStr不是数字
好歹我也是干 java web的 这点我还是知道的 已经如果我不进行转换 直接以这种形式输出skipText.setText(oneStr+twoStr); 是可以执行的 比如我传递的 2和3 activity中也能看到 但是一旦通过Integer.parseInt转换就会出错 [/quote][/quote] 对了想起来了 我是通过第一个activity中的输入框中输入数字 然后后台接收 会不会是模拟器给我加上空格了。。。。。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧