Android: cómo obtener el tiempo de un TimePicker cuando se escribe

Tengo un DialogPreference que implementa un simple TimePicker.OnTimeChangedListener (ver más abajo). Configurar la hora haciendo clic en los botones +/- funciona muy bien. Pero no sé cómo guardar el estado del marcador de tiempo cuando el usuario ingresó la hora directamente en el campo de texto. Podría ser suficiente acceder al valor actual del campo de texto, por lo que podría persistirlo en onDialogClosed. Pero timePicker.getCurrentHour () no lo hará. Por favor ayuda...

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);
        }
    }
}
// ...
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta