-2

私はいくつかの編集テキストボックスを持つAndroidアプリを持っています。edittext ボックスの値の 1 つを計算に使用するように変換する必要があります。次のコードがあります。

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 に答える