Java DatePickerDialog侦听器-月份获取0

Java DatePickerDialog侦听器-月份获取0,java,android,kotlin,Java,Android,Kotlin,在DatePickerDialog上选择日期时,月份为0。我在过去几周使用了相同的代码。日期和年份工作正常。 我在网上搜索,所有的东西都像是教程 fun datePick (context: Context, textView: TextView){ var calendar = Calendar.getInstance() var sday = calendar.get(android.icu.util.Calendar.DAY_OF_MONTH) var smont

在DatePickerDialog上选择日期时,月份为0。我在过去几周使用了相同的代码。日期和年份工作正常。 我在网上搜索,所有的东西都像是教程

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()
}

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

请注意,只有月份有这种奇怪的索引方式。一周中的每一天,以及一年中的每一天,都像你所期望的那样正常工作


我希望这有帮助。。快乐的编码

你期望的价值是什么?请注意,月份是以零为基础的;i、 例如,1月是0,2月是1,等等