Tengo una DialogPreference que implementa un TimePicker.OnTimeChangedListener simple (ver a continuación). Configurar la hora haciendo clic en los botones +/- funciona muy bien. Pero no sé cómo guardar el estado del timepicker cuando el usuario ingresó la hora directamente en el campo de texto. Podría ser suficiente para acceder al valor actual del campo de texto, así que podría persistir en onDialogClosed. Pero timePicker.getCurrentHour() no lo hará. Por favor, ayuda ...Android: Cómo obtener el tiempo de un TimePicker cuando está escrito en
public class TimePreference extends DialogPreference implements
TimePicker.OnTimeChangedListener {
// ...
@Override
public void onTimeChanged(TimePicker view, int hours, int minutes) {
selectedHours = hours;
selectedMinutes = minutes;
}
@Override
public void onDialogClosed(boolean positiveResult) {
if(positiveResult) {
String timeString = selectedHours + ":" + selectedMinutes;
if(isPersistent()) {
persistString(timeString);
}
}
}
// ...
}
El problema es que onTimeChanged no se llama hasta que el texto en el TimePicker pierde el foco. ¿Alguien sabe cómo acceder al texto de entrada de TimePicker directamente? – cody
Puede comprobar mi respuesta aquí http://stackoverflow.com/questions/7527138/timepicker-how-to-get-am-or-pm/23931797#23931797 – Mukesh