One世3347965
2016-06-02 01:52:53
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要轉為數據只能包含數字字符:
下列兩行代碼都會失?。?br />
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
提交
取消