and*_*per 6 android android-listview notifydatasetchanged
注意:我一直在使用listViews,所以我非常熟悉如何使用适配器,ViewHolders等...所以这个问题对我来说没有意义.
这次我陷入了一种非常奇怪的行为,由于某种原因只出现在2台设备上:
LG G2,Android 4.2.2
Xperia J,搭载Android 4.1.2
listView有自己的BaseAdapter,在某些事件中我更新其中的项集合(在UI线程上),并调用notifyDatasetChanged().
问题是在有问题的设备上,调用此函数仅在listView的某些可见行上调用getView.例如,如果行1,2,3,4,5可见,并且我调用notifyDatasetChanged,并且我将日志放在getView上,我可以看到它超过1,2,4,5(跳过第3行).
它总是跳过用户在其中单击的行(每行都有可点击的视图),触发notifyDatasetChanged调用.
其他设备处理listview很好:2个Nexus 4设备(每个都有不同的版本),Galaxy S2和Galaxy S4.
如果我调用notifyDataSetChanged一次或两次并不重要.
即使我使用自己的BaseAdapter,我也没有改变ListView的工作方式.我没有扩展ListView.
对于BaseAdapter类,我已经覆盖了下一个函数:
我没有覆盖任何其他方法.当然我创建了辅助函数,但就是这样.
它为什么会发生?
为什么它只发生在一些设备上?
我怎么解决这个问题?
有可能这是一些roms的错误吗?
如果是这样,有没有一个很好的解决方法,或者我真的应该在有问题的行上调用getView(它工作正常BTW,但我这样做很奇怪)?
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |