Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ListView ImageView加载相同的图片_Android - Fatal编程技术网

Android ListView ImageView加载相同的图片

Android ListView ImageView加载相同的图片,android,Android,我的ListViewAdapter有一个大问题 我的listview同时显示2个入口。每个条目都应该从我的服务器获得不同的图片。 第一个和第二个入口工作正常,但如果向下滚动,下一个入口将具有相同的图片 我的代码如下所示: if (viewHolder.imgPic != null) { String strUrl = mainUrl+list.get(position).getUrl(); new ImageDownload(viewHolder.imgPic).execute(

我的ListViewAdapter有一个大问题

我的listview同时显示2个入口。每个条目都应该从我的服务器获得不同的图片。 第一个和第二个入口工作正常,但如果向下滚动,下一个入口将具有相同的图片

我的代码如下所示:

if (viewHolder.imgPic != null) {
    String strUrl = mainUrl+list.get(position).getUrl();
    new ImageDownload(viewHolder.imgPic).execute(strUrl);
}
我正在检查视图,如果它为空,我就这样做

有人能帮我吗?
谢谢

从您的问题中,我可以假设您不知道
列表视图

基本上,查看那个些不再可见(在用户将其滚动到看不见的地方之后)的内容,它会被回收到需要显示的新项目中。这是
getView()
方法中的
convertView
参数

可能您看到的是相同的图像,因为回收的视图与相同的图像保持一致

另外还有异步任务(您的ImageDownload类)的问题,它可以在启动请求的原始项已被回收时执行

我建议您尽可能地“挖掘”,以了解所有关于
ListView
——这是最复杂和最重要的UI组件之一。阅读我链接到你的帖子是一个好的开始

此外,此视频非常重要:

这是我的GetView:

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View view = null;
        if(rowResourceId!=R.layout.search_empty_list) {
            if (convertView == null) {
                LayoutInflater inflator = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                view = inflator.inflate(rowResourceId, null);
                final ViewHolder viewHolder = new ViewHolder();

                viewHolder.textName = (TextView) view.findViewById(R.id.textView1);
                viewHolder.imgPic = (ImageView) view.findViewById(R.id.imgPic);         

                if (viewHolder.imgPic != null) {
                    String strUrl = mainUrl+list.get(position).getUrl();
                    new ImageDownload(viewHolder.imgPic).execute(strUrl);
                }

                view.setTag(viewHolder);

            } else {
                view = convertView;
            }
            ViewHolder holder = (ViewHolder) view.getTag();

            holder.textName.setText(list.get(position).getName());


        } else {
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = inflater.inflate(rowResourceId, parent, false);

            TextView textView1 = (TextView) view.findViewById(R.id.textView1);
            textView1.setText(list.get(0).getName());
        }
        return view;

    }

请提供适配器的更多代码。尤其是完整的
getView