0

我正在练习你好,Android ed3 这本书。有一个关于创建操作按钮以显示“关于”游戏的示例代码。我已经编辑了所有必要的 xml 文件。我在下面的代码中遇到错误。正在显示 logcat第 10 行中的 nullpointer 异常:about.Button.setClickListener(this)。请帮助。另外我无法理解“this”参数。有什么问题吗?

public class Sudoku extends Activity implements OnClickListener {
private static final String TAG = "Sudoku";
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      // Set up click listeners for all the button
      View aboutButton = findViewById(R.id.about_button);
      aboutButton.setOnClickListener(this);

   }

   public void onClick(View v) {
          switch (v.getId()) {
          case R.id.about_button:
             Intent i = new Intent(this, About.class);
             startActivity(i);
             break;
    }

} }

4

2 回答 2

1

看起来您在 xml 文件中没有“about_button”按钮。您是否为 xml 中的按钮提供了相同的名称?

于 2012-04-08T07:03:14.750 回答
0
public class Sudoku extends Activity implements OnClickListener {
private static final String TAG = "Sudoku";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   // Set up click listeners for all the button
   Button aboutButton = (Button) findViewById(R.id.about_button);
  aboutButton.setOnClickListener(this);

}

public void onClick(View v) {
      if(v == aboutButton){
         Intent i = new Intent(this, About.class);
         startActivity(i);
         break;
}

试试这个……刚改了2-3行……

于 2012-04-08T07:19:52.510 回答