,所以我創建了一個名爲「繪製圖」無效只能在自定義視圖
class DrawableView extends View{
Context mContext;
int touches=0,k,Xoffs,clicks=0;
double x_1 = 0,x_2=0;
private float mLastTouchX, mLastTouchY;
public DrawableView(Context context) {
super(context);
mContext = context;
}
....
@Override
protected void onDraw(Canvas canvas){
Paint myPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
canvas.drawColor(Color.BLUE);
myPaint.setColor(Color.WHITE);
canvas.drawCircle(200, 100, 20, myPaint);
}
..... more code....
}
視圖,它只能在OnDraw的命令中是無效的!即:調用「invalidate();」在ondraw命令結束時會導致它循環。我已經嘗試了很多次調用g_draw.invalidate();或g_draw.postInvalidate(); (g_draw是創建的可繪製視圖的名稱)從其他類甚至主要活動類,它不起作用。爲什麼以及如何修復它?
感謝
是的,這只是一些測試代碼...它應該有其X座標是其他地方更新的X_1。我修正了它,我在主要活動課上有兩個「g_draw」實例,一個在我的菜單類中......這導致它永遠不會更新。刪除菜單類中的一個,現在我可以從線程調用postinvalidate。感謝您的答覆! – ajax09 2011-04-12 17:35:51