public void onPass(View v)
{
String sn1=et1.getText().toString();
String sn2=et2.getText().toString();
int i1=Integer.parseInt(sn1);
int i2=Integer.parseInt(sn2);
Intent i=new Intent(this,Act2.class);
i.putExtra("k1",i1 );
i.putExtra("k2", i2);
startActivity(i);
}
logcat :
E/AndroidRuntime(671): Caused by: java.lang.NumberFormatException: unable to parse '20 ' as integer
答案 0 :(得分:5)
String的末尾有一个空格。那就是问题所在。你需要修剪它。
答案 1 :(得分:4)
输入结尾处有一个空白区域。试试:
String sn1=et1.getText().toString().trim();
String sn2=et2.getText().toString().trim();
答案 2 :(得分:1)
'20 ' // <<---- you have a whitespace at the end
在解析之前,你需要trim。
答案 3 :(得分:0)
你只需修剪字符串,因为你可以在最后有一个空格:
int i1=Integer.parseInt(sn1.trim());
int i2=Integer.parseInt(sn2.trim());
或:
你可以像zouzou一样改变说:String sn1=et1.getText().toString().trim();
String sn2=et2.getText().toString().trim();