xuexiangjys / XUI

💍A simple and elegant Android native UI framework, free your hands! (一个简洁而优雅的Android原生UI框架,解放你的双手!)

Home Page:https://xuexiangjys.github.io/XUI/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OptionsPickerView 2级联动的时候 第2级的数据 如果第一项没有值得话 整个第2项都是空的 不显示内容 。

baowenqing opened this issue · comments

OptionsPickerView 2级联动的时候 第2级的数据 如果第一项没有值得话 整个第2项都是空的 不显示内容 。

使用的XUI版本(必填)
implementation 'com.github.xuexiangjys:XUI:1.1.9'

如何重现(必填)

         tvLocation.onClick {
                val kulist = listOf<String>("良品库", "隔离品库", "不良品库")

                val list2 = listOf<String>("货位1", "货位2", "货位3", "货位4")   
                // val list2 = listOf<String>( )    // 这里的list为空的时候   就会有异常   ui显示有误
                val list3 = listOf<String>("货位5", "货位6", "货位7", "货位8")
                val list4 = listOf<String>("货位9", "货位10")
                val locationList = listOf<List<String>>(list2, list3, list4)

                val pvOptions: OptionsPickerView<String> =
                    OptionsPickerBuilder(context) { v: View?, options1: Int, options2: Int, options3: Int ->
                        tvLocation.text = kulist[options1] + "--" + locationList[options1][options2]
                        false
                    }.apply {
                        setTitleText("库位选择")
                        isRestoreItem(true)
                    }.build<String>()

                pvOptions.setPicker(kulist, locationList)
                pvOptions.show()

            }

截图
image.png

异常时候的图片: 异常的时候 那三项都是没有数据显示的
image.png

image.png

8ea32bc
因为第一项数据为空,导致右侧控件计算用到的高度为0, 并且在切换左侧项的时候,并没有刷新重新计算右侧控件的高度.
不过话又说回来, 首先这样写是不对的,本身就是一种异常场景,还是要按照规范来写,保证数据的可靠以及有效才行.