0

なぜこの Integer.parseInt が NullpointerException という例外を作るのか理解できません..

try
{
    int numberOfPictures = Integer.parseInt(editTextNumberOfGames
                        .getText().toString()); 
    Toast toast =Toast.makeText(getBaseContext(), "ratt", Toast.LENGTH_SHORT); 
                toast.show();
} catch (Exception e)
{
    Toast toast =Toast.makeText(getBaseContext(), "fel", Toast.LENGTH_SHORT); 
                toast.show();
}
4

3 に答える 3

2

このコードに到達したときに、デバッガーを使用して editTextNumberOfGames が null でないことを確認しましたか?

Integer.parseInt(editTextNumberOfGames.getText().toString()) ステートメントを一時的に分割して、複合ステートメントのどの部分が例外を引き起こしているかを正確に確認できます。

http://developer.android.com/reference/java/lang/Integer.htmlを参照してください

于 2012-12-13T18:21:42.373 に答える
0

ラチェットフリークがコメントで指摘したように、私はこれをしていませんでした:

editTextNumberOfGames = (EditText)findViewById(R.id.editTextNrOfPictures);

しかし、すべての助けに感謝します。

于 2012-12-13T18:28:43.820 に答える
-2

editTextNumberOfGamesnull であるため、expection がスローされます

editTextNumberOfGames を正しく初期化するか、何らかの理由で保証できない場合は、初期化されていることを確認します

int numberOfPictures;
if (editTextNumberOfGames != null) {
   numberOfPictures = Integer.parseInt(editTextNumberOfGames.getText());
}
于 2012-12-13T18:18:24.370 に答える