0

私は、プレーヤーが名前をプログラムに入れ、プログラムが文字列配列の次のアクティビティに名前を送信し、次のプログラムが配列をリストに入れてシャッフルするアプリを作成しています。何らかの理由で、.setText関数を使用しようとするたびに、アプリでnullpointerexceptionエラーが発生します。私はトーストでリストをテストして、それがnullでないことを確認しましたが、nullではありません。助言がありますか?

endInstructions = (Button)findViewById(R.id.buttonEndInstructions);

    player = (TextView)findViewById(R.id.textViewPlayerName);

    endInstructions.setOnClickListener(this);

    Bundle ext = getIntent().getExtras();
    int numberOfPlayers= ext.getInt("numberofplayers");
    String[] sarray = ext.getStringArray("namearray");

    names = Arrays.asList(sarray);
    Collections.shuffle(names);

    Toast.makeText(this, names.get(0), Toast.LENGTH_SHORT).show();

    //player.setText(names.get(0));

前もって感謝します!

4

2 に答える 2

0

百万の解決策はありません...

プレーヤーがnullの場合、テストして確認できます。

 Toast.makeText(this, player, Toast.LENGTH_SHORT).show();

どういう意味ですか?現在のレイアウトに「textViewPlayerName」というテキストビューが含まれていない可能性があります

xmlレイアウトを再確認するか、前にsetContentViewを使用したことを確認してください;-)

編集:endInstructionsはコードに関してnullではないため、以前はsetContentViewを正しく使用していました...

于 2012-06-07T18:56:46.563 に答える
0

GUIオブジェクトプレーヤーはnullだと思います。try / catchブロックを配置すると、これを確認でき、例外が発生した後にエラーメッセージを読み取ることができます。

GUIオブジェクトIDR.idが疑われます。textViewPlayerNameが存在しないか、クラスタイプTextViewがありません。したがって、プレーヤーはnullです。たとえば、オブジェクトタイプが代わりにTextFieldであるか、Androidフレームワークの他の有効なタイプである可能性があります。

頑張って、進捗状況をお知らせください。

于 2012-06-07T19:16:10.177 に答える