如果把view1定义在onCreate里面的话,这个对象的作用于只局限于onCreate这个方法,其他方法是无法访问这个对象的,你可以把view1的声明放在onCreate外面,再在onCreate内部实例化这个对象。public class main extends Activity {demoView view1 = null;@Override public void onCreate(Bundle savedInstanceState) { view1 = new demoView(main.this);super.onCreate(savedInstanceState); setContentView(view1); }
希望能帮到你
public class main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
demoView view1 = new demoView(main.this); super.onCreate(savedInstanceState);
setContentView(view1);
}
……
……
private void openDialogOption() {
// TODO Auto-generated method stub
new AlertDialog.Builder(main.this)
.setTitle("option")
.setSingleChoiceItems(new String[] {"简单","中等","难"},view1.getMineCount(), new DialogInterface.OnClickListener(){ @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
view1.setMineCount(which);
dialog.dismiss();
view1.InitMapGround();
view1.invalidate();
setContentView(mine_view);
view1.noticeStage();
}
})
.setNegativeButton("取消",null)
.show();
}
……
……
}
public void onCreate(Bundle savedInstanceState)
{
view1 = new demoView(main.this);super.onCreate(savedInstanceState);
setContentView(view1);
}
demoView view1 = new demoView(main.this);
有可能因为里面用到的main.this此时还没有实例化的原因