Android-PickerView 4.1.9 版本设置range后日期起始异常

ujv3wf0j  于 2个月前  发布在  Android
关注(0)|答案(4)|浏览(34)

` val current = Calendar.getInstance()

var mBirth = tv_birth.text.toString()
    mBirth="1996-02-03"
    LogUtils.w(mBirth)
    if (mBirth.isBlank()) {
        current[Calendar.YEAR] -= 24
    } else {
        current[Calendar.YEAR] = mBirth.substring(0, 4).toInt()
        current[Calendar.MONTH] = mBirth.substring(5, 7).toInt() - 1
        current[Calendar.DAY_OF_MONTH] = mBirth.substring(8, 10).toInt()
        LogUtils.w(mBirth.substring(0, 4).toInt(),mBirth.substring(5, 7).toInt() - 1, mBirth.substring(8, 10).toInt())
    }
    val start = Calendar.getInstance()
    start[Calendar.YEAR] -= 60
    val end = Calendar.getInstance()
    end[Calendar.YEAR] -= 18
    val listener =
            OnTimeSelectListener { date, _ ->
                LogUtils.w(date)
                mBirth = SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).format(date)
                tv_birth.text = mBirth
            }
    val picker = TimePickerBuilder(this, listener)
            .setType(booleanArrayOf(true, true, true, false, false, false))
            .setDate(current)
            .setRangDate(start, end)
            .setCancelText(getString(R.string.cancel))
            .setSubmitText(getString(R.string.determine))
            .setTitleSize(14)
            .setContentTextSize(14)
            .setSubCalSize(14)
            .setLineSpacingMultiplier(2.75f)
            .build()
    picker.show()`

这样一段代码,在4.1.9版本上,日期会从16号开始(准确说是今天的日期),1-15丢失(改成2月以外的月份没有这问题,或者去掉range限制,也是正常的),4.1.8版本没有这问题

aiqt4smr

aiqt4smr1#

我也遇到了这个问题,选择任意年份的二月份,例如2020-2-1日,设置选中日期后打开展示数据为2020-2-3日且列表没有1日和2日,所有日期都往后推了两天然后实际选择回调结果是前两天的日期

lstz6jyr

lstz6jyr2#

我也遇到了,setRangDate的同时setDate是二月的话,滚轮的天数会出现空白。。。

kuuvgm7e

kuuvgm7e3#

setRangDate 在4.1.9版本,可以设置开始范围是日期指定是1号 可以规避以上问题;
val startDate = Calendar.getInstance() startDate.set(Calendar.DATE, 1)

xxslljrj

xxslljrj4#

setRangDate 在4.1.9版本,可以设置开始范围是日期指定是1号 可以规避以上问题; 如 val startDate = Calendar.getInstance() startDate.set(Calendar.DATE, 1)

有效果,感谢

相关问题