【发布时间】:2021-08-30 10:52:29
【问题描述】:
我已将这种依赖关系 implementation 'com.wdullaer:materialdatetimepicker:4.2.3' 用于 timepickerdialog。 如何在日期选择器中选择当前日期时禁用过去时间,但是当 usr 选择未来日期时,用户可以选择任何时间。 我已经完成了这段代码,但我不明白如何应用时间检查,所以当用户选择当前日期时用户无法选择过去时间,用户可以在用户选择未来日期时选择任何时间 .
val cal = Calendar.getInstance()
val tpd = TimePickerDialog.newInstance(
{ view, hourOfDay, minute, second ->
if (cal.getTimeInMillis() >= cal.getTimeInMillis()) {
//it's after current
val hour = hourOfDay % 12
binding.editChooseTime.setText(
java.lang.String.format(
"%02d:%02d %s", if (hour == 0) 12 else hour,
minute, if (hourOfDay < 12) "AM" else "PM"
)
)
getTime= hourOfDay.toString() +":"+minute+":"+second
} else {
Toast.makeText(applicationContext, "Invalid Time", Toast.LENGTH_LONG).show()
}
},
cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE),
true
)
tpd.setMinTime(cal.get(Calendar.HOUR_OF_DAY),cal.get(Calendar.MINUTE),
cal.get(Calendar.SECOND)) // MIN: hours, minute, secconds
tpd.show(supportFragmentManager, "TimePickerDialog")
}
【问题讨论】: