我如何在这段代码中单独显示每个循环数据,而不是通过循环工作然后显示数据(我尝试过使用计时器,但没有成功)。
int noStart = 20;
int minus = 5;
private void waitUntil(long time) {
try {
Thread.sleep(time);
}
catch (InterruptedException e) {
//This is just here to handle an error without crashing
}
}
public void number(View view){
for(int loop = 0;noStart<loop;loop+=5){
noStart -= minus;
TextView tx = (TextView) findViewById(R.id.number);
tx.setText(String.valueOf(noStart));
waitUntil(500);
}
}
如上所述,您可以使用Handler
并设置以毫秒为单位的延迟间隔。
下面的代码每 0.5 秒执行 5 次,不会阻塞 UI 线程。
final Handler h = new Handler();
h.postDelayed(new Runnable() {
private int counter = 0;
public void run() {
// Update your text view here
...
if (++counter < 5) {
h.postDelayed(this, 500);
}
}
}, 500);
我是一名优秀的程序员,十分优秀!