У меня есть активность, которая начинается через определенное время. Как только это действие начинается, пользователь должен нажать кнопку, которая запускает новый таймер.
Однако, если пользователь не нажимает кнопку, я хочу, чтобы тост отображался каждые 5 секунд, пока кнопка не будет нажата.
Я пытаюсь использовать CountDownTimer. Вот основы кода, который у меня есть до сих пор:
У меня нет ошибок, но в данный момент всплывающие уведомления не отображаются. Можно ли иметь класс MyCount внутри класса BreakActivity (если я поставлю его снаружи, я получу ошибку).
Любая помощь в получении этой сортировки будет принята с благодарностью!
public class BreakActivity extends Activity {
Button startBreakButton; // button to start the break timer
Boolean clicked= false;
CountDownTimer counter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.breakscreen); // sets layout to breakscreen.xml
MyCount counter;
counter=new MyCount(5000,1000);
counter.start();
startBreakButton = (Button) findViewById(R.id.startBreakButton);
startBreakButton.setOnClickListener(mStartListener);
View.OnClickListener mStartListener = new OnClickListener() {
clicked=true;
//other listener code
};
public class MyCount extends CountDownTimer{
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
if(clicked=false){
Toast.makeText(getApplicationContext(), "TAKE A BREAK", Toast.LENGTH_LONG).show();
counter= new MyCount(5000,1000);
counter.start();
}
}
@Override
public void onTick(long millisUntilFinished) {
long s1 = millisUntilFinished;
}
}
};