List
今天在使用list上踩了很大的一个坑
做了一个选择列表的控件
主要的一个需求就是图中两个标红的按钮分别显示两个列表,但其实这两个列表是同一个控件,只是当用户点击不同的按钮会动态更改list的dataSource
那么问题来了,当用户使用第一个按钮,对应显示是123456...
用户选择了之后,该list会有一个记录当前选择对应的index,
同时list又有一个很奇怪的地方,就是你不能重复点相同的index对应的区域。
然后当你点击了色子的按钮,虽然数据源刷新了,但是对应的selectedIndex并没有修改,也就是刚刚点击的对应index的区域同样不能再次点击
解决方案就是 当onSelect方法处理完了之后,在最后将list的_selectedIndex设置成list没有的index即可。
注意,不能直接修改selectedIndex,因为这样会再次触发onSelect方法
List 的 dataSource更新问题
还是上面那个问题,只是具体出现的位置不同了。
因为两个列表
网友评论