我想做个APP,在主界面按下按钮后,会转到一个有SurfaceView的Activity里面绘制波形图。但是现在的情况是一按下转到那个界面后就会闪退,个人觉得是
SurfaceView.holder的原因,因为把初始化holder的代码注释掉后就不会闪退。各位路过的大神帮我看看,下面是我觉得有问题的代码:
public class Test extends Activity {
final int HEIGHT=320; //设置画图范围高度
final int WIDTH=320; //画图范围宽度
final int X_OFFSET = 5; //x轴(原点)起始位置偏移画图范围一点
private int cx = X_OFFSET; //实时x的坐标
int centerY = HEIGHT /2; //y轴的位置
int paintflag=1;//绘图是否暂停标志位,0为暂停
private SurfaceHolder holder = null; //画图使用,可以控制一个SurfaceView
private Paint paint = null; //画笔
SurfaceView surface = null; //
Timer timer = new Timer(); //一个时间控制的对象,用于控制实时的x的坐标,
TimerTask task = null;//时间控制对象的一个任务
private int temp=AmoComActivity.num;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("num="+AmoComActivity.num);
Button draw=(Button)findViewById(R.id.draw);
surface=(SurfaceView)findViewById(R.id.show);
//初始化SurfaceHolder对象
holder = surface.getHolder();
holder.setFixedSize(WIDTH+50, HEIGHT+100); //设置画布大小,要比实际的绘图位置大一点
paint=new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(3);