Я делаю повторный таймер обратного отсчета, и когда я устанавливаю, например, 2 раунда, и после этого я хотел бы видеть «fini sh» на дисплее, я получаю 2/2. Я попытался сделать это как в приведенном ниже коде, но это не сработало. Я отметил ** область, которую я имею в виду
final Context cntx=this;
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int num_rounds=0;
try {
num_rounds = Integer.parseInt(et1.getText().toString());
}catch (Exception ex){
Toast.makeText(cntx,"Invalid Integer", Toast.LENGTH_LONG).show();
return;}
if(num_rounds==0)
{
return;
}
final int[] round_count = {0};
final int finalNum_rounds = num_rounds;
CountDownTimer countDownTimer=new CountDownTimer(5000,1000) {
@Override
public void onTick(long millisUntilFinished) {
tv1.setText((round_count[0]+1)+"/"+finalNum_rounds+" "+(int) (millisUntilFinished/1000));
}
@Override
public void onFinish() {
round_count[0]++;
if(round_count[0] < finalNum_rounds){
Handler handler=new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
start();
}
},5000);
}
***
if (!tv1.equals(finalNum_rounds+"/"+finalNum_rounds )){
tv1.setText("Finish");
}
***
}
}.start();
}
});