// Счетчик времени с тех пор приложение начал, фоновую задачуКак возобновить его, когда я нажму кнопку «Продолжить»?
private long mStartTime = 0L;
// Частный длинный mPauseTime = 0L;
private TextView mTimerLabel;
// Обработчик для обработки сообщения для задания таймера
private Handler mHandler = new Handler();
static final int UPDATE_INTERVAL = 1000;
String timerStop1;
@Override
public void onCreate(Bundle savedInstanceState) {
mTimerLabel = (TextView) findViewById(R.id.textTimer);
if(mStartTime == 0L){
mStartTime = SystemClock.uptimeMillis();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
}
timerPauseButton.setTag(1);
timerPauseButton.setText("Pause");
final Button timerPauseButton = (Button) findViewById(R.id.btnTimerPause);
timerPauseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
// ChangeButtonText
final int status =(Integer) view.getTag();
if(status == 1) {
mHandler.removeCallbacks(mUpdateTimeTask);
mTimerLabel.setText(timerStop1);
timerPauseButton.setText("Resume");
view.setTag(0); //resume
} else{
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
timerPauseButton.setText("Pause");
view.setTag(1); //pause
}
}
});
}
// Конец OnCreate
private Runnable mUpdateTimeTask = new Runnable(){
public void run() {
{
final long start = mStartTime;
long millis = SystemClock.uptimeMillis()- start;
int seconds = (int) (millis/1000);
int minutes = seconds/60;
seconds = seconds % 60;
mTimerLabel.setText("" + minutes + ":"
+ String.format("%02d", seconds));
timerStop1 = minutes + ":"
+ String.format("%02d", seconds);
mHandler.postDelayed(this, 200);
}
}
};
Почему я нажимаю кнопка паузы, но таймер также будет работать в фоновом режиме? Пример, когда я нажимаю паузу в 3 сек после 5 секунд, я нажимаю кнопку «возобновить», но она продолжается с 8 сек., А не 3 сек. Thanks
ya, думаю, так. Но можете ли вы сказать мне метод? спасибо :) –
Итак ... чего вы пытаетесь достичь? – laalto
Я использую одну кнопку для выполнения паузы и возобновления функции таймера. Функция паузы, которую я выполнил уже, но функция возобновления имеет некоторые ошибки ... так кто-нибудь научит меня кодированию? –