Вы пробовали следовать учебнику на странице разработчиков для таймера?
Edit:
Хорошо, поэтому, следуя инструкции, у нас есть метод обновления для textview, который покажет ваше время:
private void updateDisplay() {
mTimeDisplay.setText(
new StringBuilder()
.append(pad(mHour)).append(":")
.append(pad(mMinute)));
}
private static String pad(int c) {
if (c >= 10)
return String.valueOf(c);
else
return "0" + String.valueOf(c);
}
Диалог, который будет создан для пользователя, чтобы выбрать время:
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
}
return null;
}
И здесь я бы добавил желаемое ограничение - метод обратного вызова, когда пользователь устанавливает время. Вам нужно узнать текущий час и минуту, и если пользователь выберет прошедшее время, вы не отобразите его изменения и не отправите ему тост или что-то в этом роде.
Используя Календарь, вы можете легко получить его:
Calendar c = Calendar.getInstance();
// the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
if (mHour >= Integer.getInteger(c.get(Calendar.HOUR_OF_DAY)) && mMinute >= Integer.getInteger(c.get(Calendar.MINUTE))) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay();
} else
//Display a toast or something to inform the user that he can't pick a past time.
}
Теперь, если вы хотите, чтобы пользователь не мог выбрать предыдущее время в созданном вами диалоге, вам нужно создать свой собственный экран выбора часов, потому что TimePickerDialog не имеет ограничений относительно того, какие значения вы можете выбрать.
Надеюсь, это поможет!