mHandler.removeCallbacksmUpdateTimeTask;不暂停处理程序

问题描述

所以我想启动一个计时器并在活动时暂停它,并在某些按钮上单击并从暂停它的时间开始恢复它,因此,如您在下面看到的,我每秒在文本视图中显示它,因此当我按下暂停时带有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 (将#修改为@)