我创建了一个自定义ListView ..我的ListView的每个元素都是从布局构建的。
我的布局会有一些TextViews和一个ToggleButton。我的ListView将有大约50个元素,我的设备屏幕一次可以显示2个元素。
现在,如果我们在一个Item上选择ToggleButton并向下滚动我的ListView,则所选项目将不在屏幕上,当我回到之前选择的项目时,我观察到该切换按钮的选择消失了。
我知道这是android中的一个正常行为,它将构造当前正在显示的元素。
但我想保留这个价值..有没有办法保留选择。或者我可以告诉ListView每次都不要构造..内存对我的应用程序来说不是问题。
如果有任何好的解决方案,请告诉我。
答案 0 :(得分:0)
您可以将复选框的状态存储在地图中,并将位置作为关键字。因此,只要滚动后列表重新加载,它就会根据hashmap状态加载。您应该在getView()
中编写此逻辑