Я использовал таймер обратного отсчета, как этоAndroid: отделка() из CountDownTimer называется, даже если отменить() называется
новый CountDownTimer (15000, 15) {
public void onTick(long millisUntilFinished) {
long seconds=millisUntilFinished/1000;
long min=millisUntilFinished%100;
timeleft=(int) (seconds*1000+min);
if(millisUntilFinished>=10000)
{
changeText.setTextColor(Color.GREEN);
}
else if(millisUntilFinished>=5000)
{
changeText.setTextColor(Color.MAGENTA);
}
else
{
changeText.setTextColor(Color.RED);
}
changeText.setText(String.format("%02d", seconds)+ "."+String.format("%02d", min)+" sec");
}
public void onFinish() {
timeleft=0;
missed++;
nametext.setTextColor(Color.RED);
nametext.setText("Time Up!");
bottombutton.setVisibility(View.INVISIBLE);
globalflag=13;
changeText.setTextColor(Color.RED);
changeText.setText("0.00 Sec");
Handler myHandler = new Handler();
myHandler.postDelayed(mMyRunnablecif, 3000);
}
}.start();
На щелчка кнопки I вызвали cancel(), но он перестает считать на некоторое время, а затем вызывает onFinish(). Мне не нужно звонить onFinish() после вызова cancel(), есть ли какое-либо решение для этого. Любая помощь будет высоко оценена.
ли onFinish () вспоминает об активности, в которой она принадлежит? или вызовы call back oncreate() – Moyeen
onFinish() в отношении таймера обратного отсчета не подключен к активности. Это просто метод, вызываемый при завершении таймера обратного отсчета. – Tony