Потеря изображений из NetworkImageView после прокрутки списка вверх-вниз

у меня естьПосмотреть список это захватывает новости с изображениями, связанными с этим, используя Volley Json.Вначале он загружает все, но когда я прокручиваю список и возвращаюсь, он иногда показывает изображения, а иногда нет. После прокрутки 2-3 разаlistview теряет каждое изображение. Та же процедураработает отлично со мнойтестовое приложение (Только с вкладками панели действий) так что я не знаю, что происходит. Спасибо за ваше время.

Замечания: я используюMySingleton а такжеLruBitmapCache с сайта разработчиков. Графический интерфейс моего приложения похож на Play Store, т. Е. Навигатор с вкладками. Я искал проблему, как это, но не нашел прямого ответа. Извините, если это глупый вопрос, чтобы задать здесь.

Если Я использую ViewHolder, тогда эта проблема решается, но я не могу удалить NetworkImageView программно, если URL-адрес отсутствует.Я не хочу иметь изображение-заполнитель для строки, которая не имеет изображения

Вот мой файл макета для строки:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp">

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/cat_thumbnail"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="8dp"
    />

<TextView
    android:id="@+id/cat_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16dp"
    android:layout_alignTop="@id/cat_thumbnail"
    android:layout_toRightOf="@id/cat_thumbnail"
    />

<TextView
    android:id="@+id/cat_paper"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/cat_title"
    android:layout_marginTop="1dip"
    android:layout_toRightOf="@+id/cat_thumbnail"
    android:textSize="15dip" />

Класс адаптера

private Activity activity;
private LayoutInflater inflater;
private List<NewsArticles> newsArticlesItems;
ImageLoader imageLoader;

public NewsAdapter(Activity activity, List<NewsArticles> newsArticlesItems)
{
    this.activity = activity;
    this.newsArticlesItems = newsArticlesItems;
}

@Override
public int getCount() {
    return newsArticlesItems.size();
}

@Override
public Object getItem(int location) {
    return newsArticlesItems.get(location);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int postion, View convertView, ViewGroup viewGroup) {

    if(inflater == null)
    {
        inflater = (LayoutInflater) activity.getSystemService(activity.LAYOUT_INFLATER_SERVICE);
    }
    if(convertView == null)
    {
        convertView = inflater.inflate(R.layout.cat_list_items, null);
    }
    if (imageLoader == null)
        imageLoader = MySingleton.getInstance(activity).getImageLoader();
    //Article image
    NetworkImageView thumbnail = (NetworkImageView) convertView.findViewById(R.id.cat_thumbnail);

    //Article title
    TextView title = (TextView) convertView.findViewById(R.id.cat_title);

    //Newspaper Name
    TextView newspaperName = (TextView) convertView.findViewById(R.id.cat_paper);

    //


    if(!URLUtil.isValidUrl(newsArticlesItems.get(postion).getThumbnailUrl()))
    {
        thumbnail.setVisibility(View.GONE);
    }
    /*if(newsArticlesItems.get(postion).getThumbnailUrl()=="")
    {
        thumbnail.setVisibility(View.GONE);
    }*/
    else
    {
        thumbnail.setImageUrl(newsArticlesItems.get(postion).getThumbnailUrl(), imageLoader);
    }

    title.setText(newsArticlesItems.get(postion).getTitle());
    newspaperName.setText(newsArticlesItems.get(postion).getNewspaperName());

    return convertView;
}

Ответы на вопрос(1)

Ваш ответ на вопрос