单击按钮调用onDraw方法

时间:2013-08-19 14:20:08

标签: android

shapesview是一个自定义视图。我想要的是点击按钮时调用的ondraw方法。 视图:

 public class ShapeView extends View {

Paint cPaint;
Random r=new Random();
public static int n=3;
public ShapeView(Context context,AttributeSet attrs) {
    super(context,attrs);
    // TODO Auto-generated constructor stub
    cPaint = new Paint();
    cPaint.setColor(Color.BLACK);


}
public ShapeView(Context context){
    super(context);
}
public void onDraw(Canvas canvas)
{
    Log.e("LineView", Integer.toString(n));
    int n1=1;
    while(n1<=n)
    {
        Log.d("draw","n= " +n);
        int x=r.nextInt(canvas.getWidth()-50);
        int y=r.nextInt(canvas.getHeight()-200);
        canvas.drawCircle(x, y, 10, cPaint);
        n1++;
    }
}
public void nextshape(int n)
{
    this.n=n;
    Log.d("n","n= " +n);
    invalidate();

}

}

在点击添加了此自定义视图的活动中的按钮时调用nextshape方法。这是代码。

 public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId())
    {
    case R.id.next_button:
        i=i+1;
        Log.d("shape","i= "+i);
        shape.nextshape(i);
        break;

    }

我正在使用xml文件将视图添加到活动中。 onDraw方法只运行2到3次。之后没有任何反应。这段代码中的问题是什么?

0 个答案:

没有答案
相关问题