2012-04-10 2 views
0

У меня есть активность, которая начинается через определенное время. Как только это действие начнется, пользователь должен нажать кнопку, запускающую новый таймер.Использование CountDownTimer для отображения тоста до нажатия кнопки

Однако, если пользователь не нажимает кнопку, я хочу, чтобы тост отображался каждые 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; 

    } 
    } 
    }; 

ответ

1

изменение:

if(clicked=false) 

в

if(clicked==false) 
+0

Ну, что было неловко .... Благодаря она работает сейчас – Rob

Смежные вопросы