Android开发之Timer和Handler

今天遇到了一个很奇怪的bug,一个项目在一个华为手机上能用,在小米和魅族手机上就会闪退。我始终认为不可能是手机的问题,于是我花了一个晚上的时间找bug,最后终于让我找到了。在这个地方:

原来的程序是:

TimerTask task = new TimerTask() {
    @Override
    public void run() {
        t1.setTextColor(Color.argb(127, 255, 0, 0));
    }
};
Timer timer = new Timer();
timer.schedule(task, 3000);

定时一段时间,让View改变颜色。改变后的程序是:

Handler mHandler = new Handler();
Runnable r = new Runnable() {
    @Override
    public void run() {
        t1.setTextColor(Color.argb(127, 255, 0, 0));
    }
};
mHandler.postDelayed(r, 5000);//延时

改完后结果就对了。以后一定要查一查为什么...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章