我希望在每分钟完成后显示一个Toast消息.我正在使用倒计时器并在文本视图中显示计时器.请帮我解决这个问题.以下是我的代码.
@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.track_me_mode); counter = new MyCount (length,10); counter.start(); } }); public class MyCount extends CountDownTimer { Context mContext; public MyCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } public voID onTick (long millisUntilFinished) { timerVIEw.setText ( formatTime(millisUntilFinished)); } public voID onFinish() { } }public String formatTime(long millis) { output = ""; long seconds = millis / 1000; long minutes = seconds / 60; long hours=minutes/ 60; seconds = seconds % 60; minutes = minutes % 60; hours=hours%60; String secondsD = String.valueOf(seconds); String minutesD = String.valueOf(minutes); String hoursD=String.valueOf(hours); System.out.println(minutesD); if (seconds < 10) secondsD = "0" + seconds; if (minutes < 10) minutesD = "0" + minutes; if (hours < 10) hoursD = "0" + hours; output = hoursD+" : "+minutesD + " : " + secondsD; return output; }}
解决方法:
好的,你需要稍微改变你的代码,
>您需要将Seconds变量更改为类级别
>您需要更改您的间隔,如下所示,
来自counter = new MyCount(3600000,10); to counter = new MyCount(3600000,1000);因为第二个参数是毫秒.我在下面的代码中完成了所有更改,
public class MainActivity extends Activity{TextVIEw timerVIEw;button end,SOS;String output;MyCount counter;int length;// Change by Luciferlong seconds;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); timerVIEw=(TextVIEw)findVIEwByID(R.ID.tv_timer_track_me); // counter = new MyCount (3600000,10); counter = new MyCount (3600000,1000); counter.start();}public String formatTime(long millis) { output = ""; seconds = millis / 1000; long minutes = seconds / 60; long hours=minutes/ 60; seconds = seconds % 60; minutes = minutes % 60; hours=hours%60; String secondsD = String.valueOf(seconds); String minutesD = String.valueOf(minutes); String hoursD=String.valueOf(hours); if (seconds < 10) secondsD = "0" + seconds; if (minutes < 10) minutesD = "0" + minutes; if (hours < 10) hoursD = "0" + hours; output = hoursD+" : "+minutesD + " : " + secondsD; return output;}public class MyCount extends CountDownTimer { Context mContext; public MyCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } public voID onTick (long millisUntilFinished) { timerVIEw.setText ( formatTime(millisUntilFinished)); if ( seconds == 0 ) { Toast.makeText( getApplicationContext(), "Done", Toast.LENGTH_LONG ).show(); } } public voID onFinish() {}}@OverrIDepublic voID onDestroy(){ super.onDestroy(); counter.cancel();}}
总结 以上是内存溢出为你收集整理的android – 在倒数计时器中跟踪每一分钟全部内容,希望文章能够帮你解决android – 在倒数计时器中跟踪每一分钟所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)