2012-04-29 13 views
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. 

私はここでの問題は、私も"を持っていない、特にため、何であるか見当がつかない私のコードで。ここで

私のコードがある

...

+3

今後、適切なコードを外部のリンクではなく質問に投稿してください。 – wattostudios

+0

あなたの質問に答えられた場合、またはそれがもはや有効でない場合は、誰もが問題が解決されたことを知るように、最も適切な答えを選択するために「チェック」してください。ありがとう。 – wattostudios

答えて

0

その...

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

私はキャラクターが、このような印刷不可です改行文字、タブ、または他の空白文字として、渡されてきたが、エラー出力にプリントアウトされませんdepartmentのどこかに存在していることを示唆しているのだろうか?多分起因するどのようにそれが多分Unicodeまたは異常な値を入力するキーボードによる何かのフィールドに入力され、またはされにそこに文字がある場合

わかりませんか?

これをチェックしてもまだ動作していない場合は、ここにコードを投稿してください。

0

文字列を解析して整数に変換する前に、値をトリミングして整形します。

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

新しい整数(謎)が暗黙のparseIntを使用しているが、この目的のためにIntegerクラスのparseIntのメソッドを使用するのがベスト。

int a = Integer.parseInt(myStr);

+0

私は私のパブリックビューに入れ、部門にmystringの名前を変更すると、私は今エラーを取得していますInteger型のメソッドparseInt(String)は引数(EditText)には適用されません。 –

1

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

チンブーンが指摘したように、あなたはInteger.parseInt(String)を使用する必要があります。完全クラッシュからプログラムを防止するために

、あなたはまた、NumberFormatExceptionがキャッチし、適切に取り扱い、try/catchブロック内の行をラップすることができます。

+1

良い;あなたは問題が実際に何であるかを述べました。 ( '' 'は' ''' 'ではありません) –

関連する問題