android: kotlin: DatePickerDialog установить minDate и maxDate - PullRequest
0 голосов
/ 14 октября 2019

Я хочу установить 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 голосов
/ 14 октября 2019

измените эту строку кода dpd.datePicker.maxDate(hee) на dpd.datePicker.setMaxDate(hee) или dpd.datePicker.maxDate = hee, это будет работать,dpd.datePicker.maxDate используется для возврата maxDate в long, которое установлено в datepickerВы хотите установить дату, чтобы не получить ее иэтот метод требует только длинное значение, и вы передаете только длинное значение

0 голосов
/ 14 октября 2019

Вы можете использовать Long.toInt (), но это небезопасно, вы можете использовать это:

fun Long.toIntOrNull(): Int? {
    val i = this.toInt()
    return if (i.toLong() == this) i else null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...