调用从另一个活动调用画布的android java类

时间:2013-10-08 09:00:43

标签: java android android-canvas

我正在尝试创建一个Android项目,该项目有一个名为MainActivity的类,它连接到带有开始和退出按钮的布局。开始按钮应该执行代码来调用另一个调用画布的类,但是当我用意图调用它时总是会出错。

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void startbtn(View v){
    Intent i=new Intent(v.getContext(),CanvasCall.class);
    startActivity(i);
}

它应该调用具有以下代码的CanvasCall:

public class CanvasCall extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new MyCanvas2(this));
}   }

然而,按下开始按钮会导致力量关闭。将CanvasCall设置为应用程序启动时的活动不会导致错误,但我需要用户能够在“开始”和“退出”之间进行选择。非常感谢帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

关于是否最好使用onClick属性或以编程方式设置事物存在争议。我会选择后面的选项,这个问题是related answer

删除onClick属性并在onClickListener之后添加setContentView(...)

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById(R.id.btn_next).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, CanvasCall.class);
                startActivity(i);
            }
        });
}