0

ユーザーが 16 進数を入力するEditText場所があり、それを 10 進数に変換して に表示したいのですが、例外TextViewのために に 16 進数を表示することさえできませんTextView:「'文字列' を解析できません」整数として . に数字しか表示できませんTextView文字を入力すると、例外がスローされます。

コードの一部を次に示します。

EditText edText1 = (EditText) findViewById(R.id.editText1);
TextView result = (TextView) findViewById(R.id.textView1);
result.setText(""+ Integer.parseInt(edText1.getText().toString(), 16));
4

1 に答える 1

2

の最初のケースのためにエラーが発生しているように思えますedText1.getText()textfieldが空の場合でも、値 - が格納されます""""はまだ でStringあり、まだ内容がありますが、整数ではありません。したがって、あなたがそれをやっているとき、Integer.parseInt()それは以下のようなことをしています:

result.setText("" + Integer.parseInt("", 16));

""は明らかに整数でも 16 進数でもありませんが、それでもStringフォーマットに問題があり、エラーがスローされます。

于 2013-06-27T03:51:26.940 に答える