前言
这篇文章主要介绍下Android使用kotlin如何使DatePickerDialog/TimePickerDialog
代码实现
这里我们首先在xml定义了两个TextView控件,设置点击事件buttonFunc
<TextView
android:id="@+id/date_textT"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="buttonFunc" />
<TextView
android:id="@+id/time_textV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="buttonFunc" />
在对应的Activity.kt中通过Calendar.getInstance()获取年月日以及时间,将获取到的年月日放进DatePickerDialog中,获取到的时间放进TimePickerDialog,点击对应TextView即可显示日期选择器/时间选择器
fun buttonFunc(view: View) {
when (view.id) {
R.id.date_textV -> {
// 日期选择器
val ca = Calendar.getInstance()
var mYear = ca[Calendar.YEAR]
var mMonth = ca[Calendar.MONTH]
var mDay = ca[Calendar.DAY_OF_MONTH]
val datePickerDialog = DatePickerDialog(
this,
DatePickerDialog.OnDateSetListener { _, year, month, dayOfMonth ->
mYear = year
mMonth = month
mDay = dayOfMonth
val mDate = "${year}/${month + 1}/${dayOfMonth}"
// 将选择的日期赋值给TextView
date_textV.text = mDate
},
mYear, mMonth, mDay
)
datePickerDialog.show()
}
R.id.time_textT -> {
// 时间选择器
val ca = Calendar.getInstance()
var mHour = ca[Calendar.HOUR_OF_DAY]
var mMinute = ca[Calendar.MINUTE]
val timePickerDialog = TimePickerDialog(
this,
TimePickerDialog.OnTimeSetListener{_, hourOfDay, minute ->
mHour = hourOfDay
mMinute = minute
val mTime = "${hourOfDay}:${minute}"
time_textT.text = mTime
},
mHour, mMinute, true
)
timePickerDialog.show()
}
}
}