0

Ed Burnette による Android プログラミング Hello, Android の 2 冊目の本です。エクリプスを使用しています。コードは書籍と一致し、書籍の Web サイトからダウンロードしたコードと一致します。しかし、私はここで何か間違ったことをしていることを知っています。問題が発生している可能性がある場所を把握する (ほとんどの場合は推測) 場所に、多数のブレークポイントを追加しました。私がたどり着いたのは、このコード行が原因であるということです (SudokuActivity.java の 21 行目)。ここからコード全体をダウンロードできます http://kbsoftware.dlinkddns.com/Sudoku.zip

aboutButton.setOnClickListener(これ);

しかし、私は理由を理解できませんか?それは、私がどこかで間違ったことをしている結果に違いありません。avdを削除して再作成しましたが、違いはありませんでした。私はここで途方に暮れています。

public class SudokuActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    View aboutButton = findViewById(R.id.about_button);
    aboutButton.setOnClickListener(this);
}    

回答してくれたすべての人に感謝したいと思います。すべて修正され、機能しており、あなたの助けなしにはできませんでした。私はこの問題に取り組むことで、問題のないプログラミングを数か月ではないにしても数週間で行うよりも多くのことを学びました。

4

2 に答える 2

1

Yout aboutButton が適切にバインドされていません。

次のようなことをします

ボタン aboutButton = (ボタン) findViewById(R.id.about_button);

于 2012-04-25T20:43:32.963 に答える
0

私はあなたのコードをダウンロードし、それは私の電話で正しく動作します. したがって、コードが同じであれば、実行する必要があります。findViewById がビューを見つけられず、null オブジェクトでメソッドを呼び出すと nullpointerexception が発生したようです。

私の愚かな質問: プロジェクトのクリーンアップを試みましたか? クラスを保存し、プロジェクトを削除して、新しいプロジェクトを作成することもできます。それが役に立てば幸い

于 2012-04-25T21:40:21.507 に答える