相关疑难解决方法(0)

自定义listview适配器getView方法被多次调用,并且没有连贯的顺序

我有一个自定义列表适配器:

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)

java android listview

159
推荐指数
4
解决办法
8万
查看次数

从适配器内部处理多个getView调用的最佳方法

我有ListView自定义ArrayAdapter.其中的每一行ListView都有一个图标和一些文本.这些图标在后台下载,缓存,然后使用回调,在各自的位置替换ImageViews.每次getView运行时都会触发从缓存或下载中获取缩略图的逻辑.

现在,据罗曼盖伊说:

"绝对不能保证调用getView()的顺序也不能保证多少次."

我已经看到这种情况发生了,对于一行大小为二的getView()被调用了六次!

如何更改代码以避免重复的缩略图获取请求并处理视图回收?

谢谢.

android listview

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×2

listview ×2

java ×1