最近需要一个在让用户设置中设置时间的操作,发现网上的例子大多不能用了,于是自己写了一个供大家参考。
1.通过继承DialogPreference来实现点击该Preference后弹出带TimePicker的dialog。在构造方法中设定自定义的simpleSummaryProvider。
public class TimePickerPreference extends DialogPreference {
private String mText;
@Nullable
private OnBindTimePickerListener mOnBindTimePickerListener;
public TimePickerPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
setSummaryProvider(SimpleSummaryProvider.getInstance());
setDialogLayoutResource(R.layout.time_picker_dialog);
}
public TimePickerPreference(Context context, AttributeSet attrs, int defStyleAttr) {
this(context, attrs, defStyleAttr, 0);
}
@SuppressLint("RestrictedApi")
public TimePickerPreference(Context context, AttributeSet attrs) {
this(context, attrs, TypedArrayUtils.getAttr(context, R.attr.dialogPreferenceStyle,
android.R.attr.dialogPreferenceStyle));
}
public TimePickerPreference(Context context) {
this(context, null);
}
public String getTex