java - 定时器任务不起作用!

标签 java android timer draw

我尝试使用计时器任务刷新用定点坐标绘制的线(每1秒后)。但该行似乎没有刷新...我的代码有什么问题吗?

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);
}

}

我应该将计时器任务放在代码中的其他位置吗?

最佳答案

而是使用 Android Handler 在一定时间后更新 UI。

关于java - 定时器任务不起作用!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283984/

相关文章:

android - 滚动后 Recycler View 没有给出正确的位置

android - 如何在 Android 中同时实现平移、旋转、捏合、双击手势?

java - Java中计算耗时

jakarta-ee - WFLYEJB0043 : A previous execution of timer [timer] is still in progress, 在 [时间] 跳过这个重叠的计划执行

java - 如何将 BorderBehavior 与 ajax 重新渲染结合使用

android - 带有 AndroidAnnotations 的 Rest 客户端 - "no suitable HttpMessageConverter..."

java - Spring & Mockito : Actual Object getting called in Unit Test

java - 随机生成形状

java - 为什么这个正则表达式在 FreeMarker 中失败

java - 在 Jersey 1.17 中指定 JAXB 2 上下文