我使用此代码:
public class CustomTimePickerDialog extends TimePickerDialog {
private static final String TAG = CustomTimePickerDialog.class.getSimpleName();
public CustomTimePickerDialog(Context context, OnTimeSetListener listener, int hourOfDay, int minute, boolean is24HourView, String databaseTimeById) {
super(context, listener, hourOfDay, minute, is24HourView);
}
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Log.d(TAG, "onTimeChanged");
}
但在API 21中,onTimeChanged
未被称为 。可能是什么问题?或者至少如何以不同的方式做到这一点?
我尝试从MyTimePickerDialog
扩展AlertDialog
并使用TimePicker设置自定义视图,例如setView(viewWithTimePicker)
,然后使用方法timePicker.setOnTimeChanged(this)
。它在API中工作:23,22,16(!)但不在21(Android 5.0)中。需要帮助。
答案 0 :(得分:3)
我与 Lolipop 有同样的问题所以我添加了
android:timePickerMode =“spinner”作为timePickerMode并且工作正常。
<TimePicker
android:id="@+id/timepick_start"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:timePickerMode="spinner"/>
试试这个。
答案 1 :(得分:1)
我认为你忘了实施TimePickerDialog.OnTimeSetListener
public class CustomTimePickerDialog extends TimePickerDialog implements TimePickerDialog.OnTimeSetListener{