protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == 2){
String num = data.getStringExtra("data");
//int b = Integer.parseInt(num);
//String a = (String) View.getText();
//char c = a.charAt(b);
//input.setText(c);
}
}到String num都是对的! 一转int 输出b都是错什么鬼啊
8 回答
星箜下
TA贡献34条经验 获得超10个赞
看了下楼主回复,楼下的回答还没能解决问题? 那我怀疑问题可能不在String转int 。试了试 , 发现程序在input.setText()上抛异常,-----没找到资源ID------ 。
editText.setText(CharSequence text);
editText.setText(int resID);
editText有两个setText方法,程序调用了第二个方法,将char 强转为 int 发现R中不存在该int,于是报NOTFOUNDEXCEPTION。
因为CharSequence 是个接口,而Character类并没有实现该接口,实现该接口的是String类。
所以,可以String c_String = String.valueOf(c);
再input.setText(c_Stirng);
楼主能把自己的错误日志发错来最好了,这样的话,别人也是猜测,因为我的电脑环境和你的不同,运行结果也许也不同的。
BlueFishQ
TA贡献4条经验 获得超0个赞
首先你得确保你的num不包含任何空格或其他字符,num要转为数据只能包含数字字符:
下列两行代码都会失败:
System.out.println(Integer.parseInt("12 3")); System.out.println(Integer.parseInt(" 123"));
Exception in thread "main" java.lang.NumberFormatException: For input string: "12 3"
你可以调试下查看num的值,然后对num进行相应的处理!
添加回答
举报
0/150
提交
取消