android:kotlin:DatePickerDialog设置minDate和maxDate

时间:2019-10-14 07:54:38

标签: android kotlin

我要设置minData和maxDate

val dpd = DatePickerDialog(this,
            DatePickerDialog.OnDateSetListener {
                    view, year, month, dayOfMonth ->
                Log.d("DatePickerDialog","$year-$month+1-$dayOfMonth")
                mDate[0]=year
                mDate[1]=month+1
                mDate[2]=dayOfMonth
            }, mDate[0],mDate[1]-1,mDate[2])
        val tmpmonth=afterDate[1]-1
        val sdf = SimpleDateFormat("$afterDate[0]-$tmpmonth-$afterDate[2]")
        val df = SimpleDateFormat("yyyy.MM.dd HH:mm")
        val hee:Long=df.parse(datestr).time
        dpd.datePicker.maxDate(hee)            //<-----error
        dpd.show()

有一个错误“ maxDate是不能作为函数调用的Long类型,找不到函数invoke()”

// If I have value like this
//val year:Int=2019
//val month:Int=10
//val day:Int=14
//I want to change to Long

fun convert_YearMonthDay_to_Long(year:Int, month:Int, year:Int):Long{

//how?????

}

2 个答案:

答案 0 :(得分:0)

将此行代码dpd.datePicker.maxDate(hee)更改为dpd.datePicker.setMaxDate(hee)dpd.datePicker.maxDate = hee,它将起作用,
dpd.datePicker.maxDate用于长时间返回设置为datepicker
您不想设置日期,而
此方法只需要long值,并且只传递long值

答案 1 :(得分:-1)

您可以使用Long.toInt(),但这并不安全,您可以使用以下方法:

fun Long.toIntOrNull(): Int? {
    val i = this.toInt()
    return if (i.toLong() == this) i else null
}