Java Invalidate()未在draw()上调用
作废未要求提款 我在invalidate中使用了类对象和imageview 当使用类名调用invalidate时会出错 这些是我的课 请帮忙Java Invalidate()未在draw()上调用,java,android,Java,Android,作废未要求提款 我在invalidate中使用了类对象和imageview 当使用类名调用invalidate时会出错 这些是我的课 请帮忙 public class DrawingClass extends View { Bitmap bitmap; Canvas canvas; Paint paint; public DrawingClass(Context context,ImageView img) { super(context);
public class DrawingClass extends View {
Bitmap bitmap;
Canvas canvas;
Paint paint;
public DrawingClass(Context context,ImageView img) {
super(context);
bitmap = Bitmap.createBitmap(480, 800,
Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
canvas.drawColor(Color.CYAN);
paint = new Paint();
paint.setColor(Color.RED);
img.setImageBitmap(bitmap);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
System.out.println("++++++++++inside on drwaw()");
Paint paint = new Paint();
paint.setColor(Color.GREEN);
paint.setStrokeWidth(6);
canvas.drawLine(50, 50, 300, 400, paint);
}
}
及
}invalidate将刷新视图。这不是一个静态方法,所以在调用methodpost时不能使用classname。请在这里发布您的异常日志…检查此项并研究示例中的fingerpaint演示它似乎很有用,让我尝试一下,谢谢you@Raghunandan
public class AddOnClick extends Activity implements OnTouchListener{
ImageView imageView;
DrawingClass draw_cls;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.addstore_2);
imageView=(ImageView)findViewById(R.id.imageView1);
draw_cls=new DrawingClass(this,imageView);
imageView.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
draw_cls.invalidate();
// imageView.invalidate();
}
return true;
}