android – 错误的图像显示在我的ListView行中

前端之家收集整理的这篇文章主要介绍了android – 错误的图像显示在我的ListView行中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在getView中使用此代码
@Override
public View getView(int position,View convertView,ViewGroup parent) {
    View v = convertView;
    if (v == null) {

        LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(R.layout.listrow,null);
    }
    Order o = items.get(position);

    if (o != null) {
        TextView tt = (TextView) v.findViewById(R.id.toptext);
        ImageView thumb = (ImageView) v.findViewById(R.id.icon);

        if (o.getOrderDrawable() != null) {
            thumb.setImageDrawable(o.getOrderDrawable());
        } else {
            tt.setText(o.getOrderTitle());
        }

    }
    return v;
}

问题是滚动时;有时会显示正确的图像,但有时向后/向前滚动时,图像会随机显示,并且与行无关.

图像从网上下载.

我该如何解决这个问题?

解决方法

Android的ListView在不再需要时重用列表项.因此,您需要确保所有应更改的视图实际上都会更改.

您的问题是,如果您没有找到当前列表项的drawable,则不会清空也不会隐藏ImageView.在这种情况下你应该做thumb.setImageDrawable(null),或者thumb.setVisibility(View.GONE).

原文链接:https://www.f2er.com/android/314186.html

猜你在找的Android相关文章