2

次のクラッシュが発生しています...

04-27 03:19:08.858: E/AndroidRuntime(448): java.lang.RuntimeException: Unable to start activity ComponentInfo{walmart.namespace/walmart.namespace.WalmartActivity}: java.lang.NumberFormatException: unable to parse '' as integer.

"特にコードに a がないため、ここで何が問題なのかわかりません。

これが私のコードです...

4

3 に答える 3

1

フィールドで入力検証を行う必要があります。エラー メッセージに基づいて、空の文字列を解析しようとしているようです。代わりに、文字列が空かどうかを確認してから、int を解析してみてください。

Chin Boon が指摘したように、Integer.parseInt(String)を使用する必要があります。

プログラムが完全にクラッシュするのを防ぐために、行を try/catch ブロックで囲み、NumberFormatException をキャッチして適切に処理することもできます。

于 2012-04-29T05:37:36.850 に答える
0

文字列を整数に解析する前に、値をトリミングしてチョップします。

スペースまたは改行文字が含まれている可能性があります。

new Integer(mystery) は暗黙的に parseInt を使用しますが、この目的には Integer クラスの parseInt メソッドを使用するのが最善です。

int a = Integer.parseInt(myStr);

于 2012-04-29T05:34:08.147 に答える
0

おそらくこの線上に...

switch (new Integer(department.getText().toString()).intValue()) {

department改行文字、タブ、または印刷できないその他の空白文字など、渡されたがエラー出力に出力されない文字がどこかにあることをお勧めします。

フィールドへの入力方法が原因でそこに文字が含まれているのか、ユニコードやキーボードが異常な値を入力したために何かがあるのか​​ わかりませんか?

これを確認して、まだ機能しない場合はここにコードを投稿してください。

于 2012-04-29T03:21:09.887 に答える