我有这样的处理者:
public void changeSpinnerWaitSelection2() {
Runnable runnable = new Runnable()
{
public void run()
{
if (count <= 3) spinnerWait.setSelection(count, true);
count++;
mTimerHandler2.postDelayed(this, 500);
}
};
runnable.run();
}
count
在另一个地方重置。这个处理程序怎么了?
而另一种方法也能完美地工作:
public void changeSpinnerWaitSelection() {
TimerTask mTt1 = new TimerTask() {
public void run() {
mTimerHandler5.post(() -> {
if (count > 4) { mTimer2.cancel();}
if (count <= 3) spinnerWait.setSelection(count, true);
count++;
});
}
};
mTimer2 = new Timer();
mTimer2.scheduleAtFixedRate(mTt1, 0, 500);
}
但我更喜欢第一个版本,因为缺少TimerTask,这似乎对我的一个设备有害。