when I clicked start, the 'stopwatch' started to count.. I pressed pause, only the textview paused, it's not resuming, because it still running in background.. I need it to be resumed at where I've stopped..
here's my dot java code :
package com.example.chronometer2;
import com.example.chronometer.R;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;
public class ChronometerApp extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chronometer);
final Chronometer myChronometer = (Chronometer)findViewById(R.id.my_chronometer);
Button buttonStart = (Button)findViewById(R.id.buttonstart);
Button buttonStop = (Button)findViewById(R.id.buttonstop);
Button buttonReset = (Button)findViewById(R.id.buttonreset);
buttonStart.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myChronometer.start();
}});
buttonStop.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myChronometer.stop();
}});
buttonReset.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
myChronometer.setBase(SystemClock.elapsedRealtime());
}});
}
}
You're just ought to remember the time, which has gone in variable, for example, timeWhenStopped. And then, each time when you start your chronometer, you start with value not 0, but with some seconds? which you can set by method setBase. Here 3 buttons with actions Start, Pause and Restart. Good luck!
public class MainActivity extends Activity {
/** Called when the activity is first created. */
long timeWhenStopped = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button butStart = (Button) findViewById(R.id.button1);
final Button butStop = (Button) findViewById(R.id.button2);
final Button butReset = (Button) findViewById(R.id.button3);
final Chronometer Mchronometer = (Chronometer) findViewById(R.id.chronometer1);
butStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) { Mchronometer.setBase(SystemClock.elapsedRealtime()
+timeWhenStopped);
Mchronometer.start();
}
});
butStop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
timeWhenStopped = Mchronometer.getBase() - SystemClock.elapsedRealtime();
Mchronometer.stop();
}
});
butReset.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Mchronometer.setBase(SystemClock.elapsedRealtime());
Mchronometer.stop();
timeWhenStopped = 0;
}
});
}