Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

无法设置默认时间 #12

Closed
jiangdongguo opened this issue Jan 13, 2021 · 5 comments
Closed

无法设置默认时间 #12

jiangdongguo opened this issue Jan 13, 2021 · 5 comments

Comments

@jiangdongguo
Copy link

jiangdongguo commented Jan 13, 2021

如果是自己获取默认时间戳,显示的默认时间是错的。
比如:

val calendar = Calendar.getInstance().apply {
            add(Calendar.MONTH, -2)
}

calendar.timeInMillis

当设置了最大时间时,默认时间却不是当前时间前2个月的时间。不设置最大时间,显示就是正常的。

@loper7
Copy link
Owner

loper7 commented Jan 13, 2021

如果是自己获取默认时间戳,显示的默认时间是错的。
比如:

val calendar = Calendar.getInstance().apply {
            add(Calendar.MONTH, -2)
}

calendar.timeInMillis

当设置了最大时间时,默认时间却不是当前时间前2个月的时间。不设置最大时间,显示就是正常的。

需要检查一下默认时间是否与最大时间或最小时间的设定冲突了
详见更新日志->0.1.1->修复范围最大值,范围最小值,选中默认值之间冲突时约束异常问题(规则为:最大范围值与最小范围值存在冲突时,后设置的值不会生效;选中默认值与范围最大值/范围最小值存在冲突时,不会生效)

@jiangdongguo
Copy link
Author

如果是自己获取默认时间戳,显示的默认时间是错的。
比如:

val calendar = Calendar.getInstance().apply {
            add(Calendar.MONTH, -2)
}

calendar.timeInMillis

当设置了最大时间时,默认时间却不是当前时间前2个月的时间。不设置最大时间,显示就是正常的。

需要检查一下默认时间是否与最大时间或最小时间的设定冲突了
详见更新日志->0.1.1->修复范围最大值,范围最小值,选中默认值之间冲突时约束异常问题(规则为:最大范围值与最小范围值存在冲突时,后设置的值不会生效;选中默认值与范围最大值/范围最小值存在冲突时,不会生效)

麻烦试下这段代码:

       CardDatePickerDialog.builder(this)
                .setTitle("123")
                .setDisplayType(arrayListOf(
                    DateTimeConfig.YEAR, DateTimeConfig.MONTH, DateTimeConfig.DAY
                ))
                .setBackGroundModel(CardDatePickerDialog.STACK)
                .showBackNow(false)
                .setDefaultTime(Calendar.getInstance().apply {
                    add(Calendar.MONTH, -2)
                    }.timeInMillis)
                .setMaxTime(Calendar.getInstance().timeInMillis)
                .setMinTime(Calendar.getInstance().apply {
                        add(Calendar.MONTH, -10)
                    }.timeInMillis)
                .setWrapSelectorWheel(false)
                .setThemeColor(Color.parseColor("#FF8000"))
                .showFocusDateInfo(true)
                .setOnChoose("选择") {
                    tvChooseDate.text = "${StringUtils.conversionTime(it, "yyyy-MM-dd HH:mm:ss")}    ${StringUtils.getWeek(it)}"
                }
                .setOnCancel("关闭") {
                }.build().show()

@loper7
Copy link
Owner

loper7 commented Jan 14, 2021

如果是自己获取默认时间戳,显示的默认时间是错的。
比如:

val calendar = Calendar.getInstance().apply {
            add(Calendar.MONTH, -2)
}

calendar.timeInMillis

当设置了最大时间时,默认时间却不是当前时间前2个月的时间。不设置最大时间,显示就是正常的。

需要检查一下默认时间是否与最大时间或最小时间的设定冲突了
详见更新日志->0.1.1->修复范围最大值,范围最小值,选中默认值之间冲突时约束异常问题(规则为:最大范围值与最小范围值存在冲突时,后设置的值不会生效;选中默认值与范围最大值/范围最小值存在冲突时,不会生效)

麻烦试下这段代码:

       CardDatePickerDialog.builder(this)
                .setTitle("123")
                .setDisplayType(arrayListOf(
                    DateTimeConfig.YEAR, DateTimeConfig.MONTH, DateTimeConfig.DAY
                ))
                .setBackGroundModel(CardDatePickerDialog.STACK)
                .showBackNow(false)
                .setDefaultTime(Calendar.getInstance().apply {
                    add(Calendar.MONTH, -2)
                    }.timeInMillis)
                .setMaxTime(Calendar.getInstance().timeInMillis)
                .setMinTime(Calendar.getInstance().apply {
                        add(Calendar.MONTH, -10)
                    }.timeInMillis)
                .setWrapSelectorWheel(false)
                .setThemeColor(Color.parseColor("#FF8000"))
                .showFocusDateInfo(true)
                .setOnChoose("选择") {
                    tvChooseDate.text = "${StringUtils.conversionTime(it, "yyyy-MM-dd HH:mm:ss")}    ${StringUtils.getWeek(it)}"
                }
                .setOnCancel("关闭") {
                }.build().show()

找到问题了,在为numberpicker设置选择约束的时候设置了最大选择值,在特定情况下,选中值会大于设置的最大值,然后就重置为最大值了,这个逻辑有点问题。
我处理了一下,待会儿push上来,有时间的话可以帮忙验证一下~

@jiangdongguo
Copy link
Author

好的,优秀!

@loper7
Copy link
Owner

loper7 commented Jan 14, 2021

已更新 0.3.0

@loper7 loper7 closed this as completed Jan 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants