我有一段时间后才开始的活动。一旦这个活动开始,用户应该按下一个按钮来启动一个新的计时器。运行代码,直到按下按钮
但是,如果用户没有按下按钮,我希望每5分钟显示一次烤面包,直到按下按钮。
我有一个按钮监听器:
startBreakButton = (Button) findViewById(R.id.startBreakButton);
startBreakButton.setOnClickListener(mStartListener);
我有显示吐司和一切运作良好的代码。
我只是不确定在点击按钮之前将代码放到哪里。在mStartListener代码或其他地方,如在onCreate方法?
UPDATE
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;
}
}
};
编辑 - 上述方案不能正常工作,它需要被点击==假的,不是点击=假的!
感谢您的回复。我希望发生的活动称为BreakActivity。是否将第一个代码片段与此活动的onCreate方法以及侦听器中的第三个代码片段一起放置?对于第二个代码片段,我需要创建该类并扩展BreakActivity? – Rob 2012-04-10 11:47:20
在你的活动中创建类myCount .. ..不需要扩展..什么.. – 5hssba 2012-04-10 11:52:47
好吧,我在BreakActivity的末尾添加了类myCount。然而,在类myCount是说变量计数器,点击和s1未定义。我添加到Startlistener的clicked = true不能解析为变量,所以它出错了某个地方:( – Rob 2012-04-10 12:03:04