【发布时间】:2010-11-21 16:32:39
【问题描述】:
我有一个列表视图,可以根据内部状态显示项目(它 有项目和“查看”项目)。我需要能够在 两种状态,我使用一个简单的按钮来更改适配器的 状态,然后适配器调用 notifyDatasetChanged()。 我的数据确实更新了,但是我面临两个问题:
- 如果在之前的模式中列表被部分滚动,它会停留 在我更改数据集后处于那种状态(如果我下降了一半 我也会在新数据集中下降一半,这不是 我想要的行为,但我找不到手动滚动列表的方法 定位 0. 有什么想法吗? (setSelected 并不完全是一个解决方案,因为我不想让任何选择保持触摸模式)
- 在我的列表视图中,每个项目都有一个从 网,所以它是使用我的网络管理器带来的,我发送 仅当我第一次在此屏幕中或如果 滚动状态为空闲,我不想开始从 getView 方法,因为如果我扔屏幕它可能会加载很多 不必要的图像。但是,当调用 notifyDatasetChanged() 时 不调用滚动侦听器方法。我通过使用解决了这个问题 notifyDatasetInvalidated 即使我的数据不为空,是否有 解决这个问题的更好方法?
【问题讨论】: