DatePickerDialog侦听器-月份为0

时间:2019-01-11 23:45:22

标签: java android kotlin

在DatePickerDialog上选择日期时,月份将变为0。过去几周,我使用了相同的代码。日期和年份工作正常。 我在Internet上搜索,所有内容似乎都像教程一样。

fun datePick (context: Context, textView: TextView){
    var calendar = Calendar.getInstance()

    var sday = calendar.get(android.icu.util.Calendar.DAY_OF_MONTH)
    var smonth = calendar.get(android.icu.util.Calendar.MONTH)
    var syear = calendar.get(android.icu.util.Calendar.YEAR)

    var listener =DatePickerDialog.OnDateSetListener { view, year, month, dayOfMonth ->
        sday = dayOfMonth
        smonth = month
        syear = year
        textView.text = "$sday/$month/$syear"  }

    var dialog =DatePickerDialog(context,listener,syear,smonth,sday)
    dialog.show()
}

1 个答案:

答案 0 :(得分:0)

在Java的Calendar类中,月份以从零开始的索引表示(一月为0,二月为1 ..依此类推)。此行为是预期的,您可以轻松地调整代码以与该行为混合。有关为什么月份从零开始的更多信息,请阅读this question的答案。

请注意,仅限月份具有这种奇怪的索引风格。一周中的每一天以及全年都可以正常工作。

我希望这会有所帮助。.编码愉快!