TimePicker 未在 API-21 中调用 OnTimeChanged

TimePicker not call OnTimeChanged in API-21

我使用这个代码:

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");
}

但是 onTimeChanged 在 API 中不叫 只有 21. 可能是什么问题?或者至少如何以不同的方式做到这一点?

我尝试从 AlertDialog 扩展 MyTimePickerDialog 并使用 TimePicker 设置自定义视图 setView(viewWithTimePicker),然后使用方法 timePicker.setOnTimeChanged(this)。它适用于 API: 23, 22, 16 (!) 但不适用于 21 (Android 5.0)。需要帮助。

我想你忘了实现 TimePickerDialog.OnTimeSetListener

public class CustomTimePickerDialog extends TimePickerDialog implements TimePickerDialog.OnTimeSetListener{

我和 Lolipop 有同样的问题所以我添加了

android:timePickerMode="spinner" 作为 timePickerMode 并且有效。

<TimePicker
        android:id="@+id/timepick_start"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:timePickerMode="spinner"/>

试试这个。