我有一个自定义列表适配器:
class ResultsListAdapter extends ArrayAdapter<RecordItem> {
Run Code Online (Sandbox Code Playgroud)
在重写的'getView'方法中,我做了一个打印来检查它是什么位置以及它是否是convertView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
System.out.println("getView " + position + " " + convertView);
Run Code Online (Sandbox Code Playgroud)
此输出(当列表首次显示时,尚未输入用户)
04-11 16:24:05.860: INFO/System.out(681): getView 0 null
04-11 16:24:29.020: INFO/System.out(681): getView 1 android.widget.RelativeLayout@43d415d8
04-11 16:25:48.070: INFO/System.out(681): getView 2 android.widget.RelativeLayout@43d415d8
04-11 16:25:49.110: INFO/System.out(681): getView 3 android.widget.RelativeLayout@43d415d8
04-11 16:25:49.710: INFO/System.out(681): getView 0 android.widget.RelativeLayout@43d415d8
04-11 16:25:50.251: INFO/System.out(681): getView 1 null
04-11 16:26:01.300: INFO/System.out(681): getView 2 null
04-11 16:26:02.020: INFO/System.out(681): getView 3 null
04-11 16:28:28.091: INFO/System.out(681): getView 0 …Run Code Online (Sandbox Code Playgroud) 我有ListView自定义ArrayAdapter.其中的每一行ListView都有一个图标和一些文本.这些图标在后台下载,缓存,然后使用回调,在各自的位置替换ImageViews.每次getView运行时都会触发从缓存或下载中获取缩略图的逻辑.
现在,据罗曼盖伊说:
"绝对不能保证调用getView()的顺序也不能保证多少次."
我已经看到这种情况发生了,对于一行大小为二的getView()被调用了六次!
如何更改代码以避免重复的缩略图获取请求并处理视图回收?
谢谢.