import java.util.Calendar; import android.app.Activity; import android.view.View.OnClickListener; import android.os.Bundle; import android.os.CountDownTimer; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.ikovac.timepickerwithseconds.view.MyTimePickerDialog; import com.ikovac.timepickerwithseconds.view.TimePicker; public class MainActivity extends Activity implements OnClickListener { private static final String tag = "Main"; private MalibuCountDownTimer countDownTimer; private long timeElapsed; private boolean timerHasStarted = false; private Button startB; private TextView text; private TextView timeElapsedView; private TextView time; private final long startTime = 50000; private final long interval = 1000; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startB = (Button) this.findViewById(R.id.button); startB.setOnClickListener(this); text = (TextView) this.findViewById(R.id.timer); timeElapsedView = (TextView) this.findViewById(R.id.timeElapsed); countDownTimer = new MalibuCountDownTimer(startTime, interval); text.setText(text.getText() + String.valueOf(startTime)); updateViews(); } private void updateViews(){ time = (TextView) findViewById(R.id.time); } public void onClick(View v) { if (!timerHasStarted) { countDownTimer.start(); timerHasStarted = true; startB.setText("Start"); } else { countDownTimer.cancel(); timerHasStarted = false; startB.setText("RESET"); } } public void showPicker(View v){ Calendar now = Calendar.getInstance(); MyTimePickerDialog mTimePicker = new MyTimePickerDialog(this, new MyTimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int minute, int minute1, int seconds) { // TODO Auto-generated method stub time.setText(getString(R.string.time) + String.format("%02d", minute1) + ":" + String.format("%02d", seconds)); } }, now.get(Calendar.HOUR_OF_DAY), now.get(Calendar.MINUTE), now.get(Calendar.SECOND), true); mTimePicker.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public class MalibuCountDownTimer extends CountDownTimer { public MalibuCountDownTimer(long startTime, long interval) { super(startTime, interval); } @Override public void onFinish() { text.setText("Time's up!"); timeElapsedView.setText("Time Elapsed: " + String.valueOf(startTime)); } @Override public void onTick(long millisUntilFinished) { text.setText("Time remain:" + millisUntilFinished); timeElapsed = startTime - millisUntilFinished; timeElapsedView.setText("Time Elapsed: " + String.valueOf(timeElapsed)); } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)