У меня такая же проблема. Если я использую TimePickerDialog, нет проблем.
Для использования TimePicker в DialogPreference, это самый крутой обходной путь, который я когда-либо делал, спускаясь вниз по иерархии представлений TimePicker:
ViewGroup v = (ViewGroup) timePicker.getChildAt(0);
ViewGroup numberPicker1 = (ViewGroup) v.getChildAt(0);
ViewGroup numberPicker2 = (ViewGroup) v.getChildAt(1);
String hours = ((EditText) numberPicker1.getChildAt(1)).getText().toString();
String mins = ((EditText) numberPicker2.getChildAt(1)).getText().toString();
String selectedTime = hours+":"+mins;
Таким образом, я мог получить прямой доступ к тексту, который был набран, - но ДОЛЖЕН быть лучший способ управления клавиатурным вводом ...