问题描述
所以我想启动一个计时器并在活动时暂停它,并在某些按钮上单击并从暂停它的时间开始恢复它,因此,如您在下面看到的,我每秒在文本视图中显示它,因此当我按下暂停时带有mHandler.removeCallbacks(mUpdateTiMetask)的按钮;然后它停止更新文本视图,看起来像处理程序停止了,但是重新启动后看起来好像没有停止,例如-如果我在2秒后停止,则在文本视图中显示2秒,然后在5秒后启动,然后显示在文本视图中为7秒,但应该从2秒开始,这是我停止的时间。因此,请帮助我修复它,我做错了什么以及该怎么做
public View onCreateView(){
if(mStartTime==0L){
mStartTime= SystemClock.uptimeMillis();
mHandler.removeCallbacks(mUpdateTiMetask);
mHandler.postDelayed(mUpdateTiMetask,100);
}
}
private Runnable mUpdateTiMetask = new Runnable() {
public void run() {
final long start = mStartTime;
long millis = SystemClock.uptimeMillis() - start;
seconds = (int) (millis / 1000);
minutes = seconds / 60;
seconds = seconds % 60;
text3.setText("" + minutes + ":0" + seconds);
mHandler.postAtTime(this,start + (((minutes * 60) + seconds + 1) * 1000));
}
};
public void onPause() {
mHandler.removeCallbacks(mUpdateTiMetask);
}
public void onResume() {
mHandler.postDelayed(mUpdateTiMetask,100);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)