Я думаю, что вы пытаетесь выполнить обратный вызов, когда таймер истекает? Если это так, вам нужно подумать о том, чтобы таймер работал сам по себе, а затем вызывал другой метод по завершении. Например:
public class Main extends Activity
{
private MyCountDownTimer myCountDownTimer;
@Override
public void onCreate(Bundle savedInstanceState){
myCountDownTimer = new MyCountDownTimer(5000, 1000);
myCountDownTimer.start();
}
public void finished(){
Log.e("Testing", "OK na");
}
public class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
finished();
}
@Override
public void onTick(long millisUntilFinished) {
Log.e("TESTINg","" + millisUntilFinished/1000);
}
}
}
См. эту ссылку для получения дополнительной информации/примера: https://androidcookbook.com/Recipe.seam;?recipeId=1205
РЕДАКТИРОВАТЬ, чтобы создать универсальный класс, который можно использовать в других действиях, я бы сделал что-то вроде этого.
Создайте класс MyCountDownTimer
, который выглядит так в собственном файле:
public class MyCountDownTimer extends CountDownTimer {
private MyCallback myCallback;
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
public Interface MyCallBack{
void callback();
}
@Override
public void onFinish() {
myCallback.callback();
}
@Override
public void onTick(long millisUntilFinished) {
Log.e("TESTINg","" + millisUntilFinished/1000);
}
public void setMyCallback(MyCallback myCallback){
this.myCallback = myCallback;
}
}
Затем в каждом из ваших действий вы должны реализовать новый интерфейс следующим образом:
public class Main extends Activity implements MyCountDownTimer.MyCallback
{
private MyCountDownTimer myCountDownTimer;
@Override
public void callback(){
Log.e("Testing", "OK na");
}
@Override
public void onCreate(Bundle savedInstanceState){
myCountDownTimer = new MyCountDownTimer(5000, 1000);
myCountDownTimer.setMyCallback(this); //will use the callback method in this class which can be different for each activity
myCountDownTimer.start();
}
}
person
randal4
schedule
10.12.2015