user1241388
user1241388

Reputation: 147

TextView not Displaying Timer

For some reason whenever I try to update my TextView to show how many seconds a person has left. But for some reason now it isn't working.

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();
            }
            }
    });
    }
}

It should display the updated seconds until it is finished because it is all within the onClick method which doesn't end until the timer reaches zero.

Upvotes: 0

Views: 135

Answers (2)

Raghunandan
Raghunandan

Reputation: 133560

Your countDownInterval is 0

CountDownTimer(long millisInFuture, long countDownInterval)

What you have

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

Should be

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

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

Upvotes: 1

Apoorv
Apoorv

Reputation: 13520

It won't update because you are passing 0 try passing 1000 which will update it at 1 second interval

Upvotes: 0

Related Questions