Android 截击加载相同的缩略图

Android 截击加载相同的缩略图,android,caching,thumbnails,android-volley,Android,Caching,Thumbnails,Android Volley,我对截击和列表视图有问题。也许我不明白截击应该怎么做。。。看这里,这是我活动中的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mRequestQueue = Volley.newRequestQueue(this); imag

我对截击和列表视图有问题。也许我不明白截击应该怎么做。。。看这里,这是我活动中的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mRequestQueue = Volley.newRequestQueue(this);
    imageLoader = new ImageLoader(mRequestQueue, new BitmapLruCache());

    items = createItemList();

    expListView = (ListView) findViewById(R.id.listView);
    ListAdapter listAdapter = new ListAdapter();
    expListView.setAdapter(listAdapter);
}
我使用
BitmapLruCache
()设置
Volley.newRequestQueue(this)
ImageLoader

在我的ListAdapter中时,我覆盖
getView()

这里我使用
imageLoader.get(items.get(position).url,imageLoader.getImageListener(ivCover,R.drawable.ic_启动器,R.drawable.ic_启动器))(投标地点在这里吗?)

已加载Thumbs,但smth出错:当应用程序第一次启动时,列表视图中的第一项具有重复的ico,其中一个图标来自另一行-


谢谢

在没有更多信息的情况下很难复制,但我建议使用
NetworkImageView
从网络加载缩略图,顺便说一句,我会使用“ViewHolder”来提高
列表视图的性能

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) 
            convertView = infalInflater.inflate(R.layout.menu_item, null);
        final ImageView ivCover = (ImageView) convertView.findViewById(R.id.icCoverThumb);
        imageLoader.get(items.get(position).url, ImageLoader.getImageListener(ivCover, R.drawable.ic_launcher, R.drawable.ic_launcher));
        return convertView;
    }
这是一个示例
ArrayAdapter
,用于在列表视图上显示推文

...
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.tweet_list_item, null);
        holder = new ViewHolder();
        holder.imageView = (NetworkImageView) convertView.findViewById(R.id.twitterUserImage);
        //set more views (username, text, date ...)

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

    //get the current element from the data array
    Tweet currentTweet = getItem(position);

    //set data into the views
    holder.imageView.setImageUrl(currentTweet.getUser().getProfileImageUrl(), VolleyManager.getImageLoader());
    //...


    return convertView;
}

private static class ViewHolder {
    private NetworkImageView imageView;
    //other views...
}

我查一下。如果还需要,我会补充更多信息。谢谢关于视窗座图案我知道,耶!非常感谢,它很有效!我已经将ImageView切换到NetworkImageView,并按照您描述的方式设置了d holder.ImageView.setImageUrl(URL,VolleyManager.getImageLoader());