【发布时间】:2021-08-10 07:30:16
【问题描述】:
我正在尝试在 android java 中使用 for 循环来实现递减计数器。我使用 handler & runnable 来延迟循环迭代,我希望计数器从 80 开始并以 0 结束,但在输出中,我得到的计数器从 0 到 80。简而言之,需要相反。
这是我的代码,
TextView totalpoints = (TextView) findViewById(R.id.txttotalpoints);
Handler handler1 = new Handler();
for (int count = 80;count>=0; count--){
int finalCount = count;
handler1.postDelayed(new Runnable() {
@Override
public void run() {
totalpoints.setText("Total Points : "+ finalCount);
System.out.println("This is in newpointsCounter" + finalCount);
}
}, 1000 * count);
}
当前输出 => 从 0 开始,在 80 结束
需要的输出 => 从 80 开始,在 0 结束
【问题讨论】:
-
它实际上显示的值是从 0 到 80,还是只显示 80
-
是的,从0开始,到80结束。
-
最好使用
CountDownTimer。
标签: java android for-loop counter