【发布时间】:2021-07-06 09:56:31
【问题描述】:
我有一个 DatePickerDialog 绑定到的 EditText。我正在努力使 DatePickerDialog 的日期约束不早于今天和年份。我找到了几个如何在 Java 中执行此操作的示例,并尝试了不同的编写方式,但没有任何效果:要么应用程序崩溃,要么无法正常工作。您能帮我设置 DatePickerDialog 的日期限制吗?
NewItemActivity.kt
class NewItemActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_item)
val editDate = findViewById<EditText>(R.id.editDate)
editDate.setOnClickListener {
showDateDialog(editDate)
}
}
private fun showDateDialog(editDate: EditText?) {
val calendar: Calendar = Calendar.getInstance()
val dateSetListener =
OnDateSetListener { _, year, month, dayOfMonth ->
calendar[Calendar.YEAR] = year
calendar[Calendar.MONTH] = month
calendar[Calendar.DAY_OF_MONTH] = dayOfMonth
val simpleDateFormat = SimpleDateFormat("dd-MM-yyyy")
editDate?.setText(simpleDateFormat.format(calendar.time))
}
DatePickerDialog(
this@NewItemActivity,
dateSetListener,
calendar[Calendar.YEAR],
calendar[Calendar.MONTH],
calendar[Calendar.DAY_OF_MONTH]).show()
}
}
【问题讨论】:
标签: android kotlin datepicker dialog