如何在Android中制作倒数计时器?我有两个XML格式的EditTexts。在一个EditText中,用户可以将数字设置为分钟,而将另一个EditText设置为秒数。单击完成按钮后,秒EditText应开始倒计时并每秒更新其文本。另外,如何保持更新直到达到零分钟和零秒?
3 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); //here you can have your logic to set text to edittext } public void onFinish() { mTextField.setText("done!"); }}.start();
请参阅此链接。
白猪掌柜的
TA贡献1893条经验 获得超10个赞
如果您使用以下代码(如接受的答案中所述),
new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); //here you can have your logic to set text to edittext } public void onFinish() { mTextField.setText("done!"); }}.start();
如果您不仔细清理引用,它将导致您使用此代码的活动实例的内存泄漏。
使用以下代码
//Declare timerCountDownTimer cTimer = null;//start timer functionvoid startTimer() { cTimer = new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { } public void onFinish() { } }; cTimer.start();}//cancel timervoid cancelTimer() { if(cTimer!=null) cTimer.cancel();}
只要调用拥有的Activity / Fragment中的onDestroy()/ onDestroyView(),就需要调用cTtimer.cancel()。
- 3 回答
- 0 关注
- 676 浏览
添加回答
举报
0/150
提交
取消