0
我已經嘗試使用timertask刷新用固定點座標繪製的線(每1秒後)。但該行似乎沒有刷新......我的代碼中是否有任何錯誤?timertask不起作用!
LineRefresh.java:
package LineRefresh.xyz.com;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
public class LineRefresh extends Activity {
DrawView drawView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
drawView = new DrawView(this);
drawView.setBackgroundColor(Color.WHITE);
setContentView(drawView);
}
}
DrawView.java:
package LineRefresh.xyz.com;
import java.util.Timer;
import java.util.TimerTask;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
}
@Override
public void onDraw(final Canvas canvas) {
paint.setColor(Color.BLACK);
canvas.drawLine(50, 200, 270, 200, paint);
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
paint.setColor(Color.BLACK);
canvas.drawLine(50, 200, 270, 200, paint);
}
};
timer.schedule(task, 1000,1000);
}
}
sholud我,相反,將TimerTask的其他地方在我的代碼?
在onDraw中運行線程可能是我在任何項目中以任何語言見過的最糟糕的設計方法之一。 – Falmarri 2010-11-26 09:49:03