Ho un DialogPreference che implementa un semplice TimePicker.OnTimeChangedListener (vedi sotto). Impostare l'ora facendo clic sui pulsanti +/- funziona alla grande. Ma non so come salvare lo stato di Timepicker quando l'utente ha digitato l'ora direttamente nel campo di testo. Potrebbe essere sufficiente accedere al valore corrente del campo di testo, quindi sarei in grado di mantenerlo su onDialogClosed. Ma timePicker.getCurrentHour() non lo farà. Si prega di aiuto ...Android: Come ottenere il tempo da un TimePicker quando viene digitato in
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);
}
}
}
// ...
}
Il problema è che onTimeChanged non viene chiamato fino a quando il testo in TimePicker non viene messo a fuoco. Qualcuno sa come accedere direttamente al testo di input di TimePicker? – cody
È possibile controllare la mia risposta qui http://stackoverflow.com/questions/7527138/timepicker-how-to-get-am-or-pm/23931797#23931797 – Mukesh