【发布时间】:2011-09-11 11:55:33
【问题描述】:
我有一个将数据(标题、日期、图像)绑定到列表视图的自定义适配器。一切正常,但是当我滚动列表视图时,适配器似乎将其数据重新绑定到列表视图。它不会填充或复制数据,但会覆盖相同的数据位置。 类似的东西,尤其是当我展示图像时,这很烦人,因为列表视图滚动不流畅。 那么,如何阻止适配器重新绑定列表视图上的数据?
谢谢!
【问题讨论】:
我有一个将数据(标题、日期、图像)绑定到列表视图的自定义适配器。一切正常,但是当我滚动列表视图时,适配器似乎将其数据重新绑定到列表视图。它不会填充或复制数据,但会覆盖相同的数据位置。 类似的东西,尤其是当我展示图像时,这很烦人,因为列表视图滚动不流畅。 那么,如何阻止适配器重新绑定列表视图上的数据?
谢谢!
【问题讨论】:
那么,如何阻止适配器重新绑定列表视图上的数据?
打断所有用户的手指,使他们无法滚动ListView。
或者,在您的 bindView() 方法或您用于绑定的任何其他方法(例如,ViewBinder)中做一个更有效的工作。例如,维护一个位图缓存(通过SoftReferences 或其他方式),这样您就不必从磁盘重新加载它们。
【讨论】:
ListView 时它都会运行。这就是AdapterView 背后的意义所在。使用 Traceview 来具体查看代码中哪些地方比较慢,并修复它们以使它们运行得更快。