我有一个Android应用程序,它有一些edittext框。我需要转换其中一个edittext框值以用于计算。我有以下代码:
final EditText taken = (EditText)findViewById(R.id.editText1);
String no=taken.getText().toString();
int no2=Integer.parseInt(no);
出于某种原因,每次我在手机上运行应用程序(JB 4.2.2),它都是FC,但如果我注释掉代码我的应用程序工作正常。知道我错过了什么吗?
<EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textView1" android:layout_toRightOf="@+id/textView1" android:ems="10" android:inputType="number" > <requestFocus /> </EditText>
答案 0 :(得分:1)
请发布logcat的输出。 可能在您的EditText中没有数字(其他符号)时会发生这种情况。 你可以尝试这样的事情:
int no2;
try {
no2=Integer.parseInt(no);
} catch (NumberFormatException nfe) {
no2=0; //default value. Ya can trigger some event here
}
答案 1 :(得分:1)
您需要对句柄错误使用try ... catch异常。