由于某种原因,每当我尝试更新TextView来显示一个人还剩下多少秒时,就可以这样做。但是由于某种原因,它现在无法正常工作。

public class MainActivity extends Activity {
private int index=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    final int[] Times= {6000,3000,7000,3000,4000,6000,3000};
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button button = (Button) findViewById(R.id.button1);
    final TextView textview =(TextView)         findViewById(com.example.countdowntest.R.id.textView);
    button.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            if(index<Times.length){
             CountDownTimer timer = new CountDownTimer(
                     Times[index], 0) {
                    public void onTick(long millisUntilFinished) {
                        textview.setText("seconds remaining: "+ millisUntilFinished / 1000);
                    }

                    public void onFinish() {
                        textview.setText("done!");
                    index++;
                    }

                }.start();
            }
            }
    });
    }
}


它应该显示更新的秒数,直到完成为止,因为它全部在onClick方法中,直到计时器达到零才结束。

最佳答案

您的countDownInterval为0

CountDownTimer(long millisInFuture, long countDownInterval)


你有什么

 new CountDownTimer(Times[index], 0) { // second param to the constructor is 0.


应该

new CountDownTimer(30000, 1000)  // whatever value you like


http://developer.android.com/reference/android/os/CountDownTimer.html

07-24 09:44
查看更多