-2

我有一个有几个编辑文本框的 android 应用程序。我需要转换编辑文本框值之一以用于计算。我有以下代码:

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>
4

2 回答 2

1

您需要使用 try...catch 异常来处理错误。

于 2013-07-22T19:55:30.027 回答
1

请发布 logcat 的输出。可能,当您的 EditText 中没有数字(其他符号)时,就会发生这种情况。你可以尝试这样的事情:

        int no2;
        try {
            no2=Integer.parseInt(no);
        } catch (NumberFormatException nfe) {
            no2=0; //default value. Ya can trigger some event here
        }
于 2013-07-22T19:46:05.933 回答