【发布时间】:2018-02-16 04:12:40
【问题描述】:
我使用的是 Android 7.0(牛轧糖)
我创建 EditText 来显示时间,点击它时,它会显示一个 TimePicker,并在 EditText 中更新时间
一切顺利,但现在我想展示一个间隔 5 分钟的 Timepicker
这意味着用户只能选择 5,10,15,20...分钟
这是我的代码:
public class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
private EditText mEditText;
private int initHour;
private int initMinute;
public void setEditText(EditText editText) {
mEditText = editText;
}
public void setInitHour(int hour) {
initHour = hour;
}
public void setInitMinute(int minute) {
initMinute = minute;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new TimePickerDialog(getActivity(), this, initHour, initMinute, DateFormat.is24HourFormat(getActivity()));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
SimpleDateFormat timeSdf = new SimpleDateFormat("HH:mm", Locale.US);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
mEditText.setText(timeSdf.format(calendar.getTime()));
}
}
在活动中:
TimePickerFragment dialogFragment = new TimePickerFragment();
dialogFragment.setInitHour(11);
dialogFragment.setInitMinute(30);
dialogFragment.setEditText(mStartTimeText);
dialogFragment.show(getFragmentManager(), "startTimePicker");
我研究过相关帖子,但所有解决方案都不是最新的
我找不到适合牛轧糖版本的解决方案
如果对我有任何提示,我将不胜感激!谢谢。
【问题讨论】:
-
stackoverflow.com/questions/20214547/… @Yuan 你查到了吗?
-
嘿,你有什么发现吗?
标签: android android-7.0-nougat android-timepicker