Предположим, у меня есть адаптер recyclerView, который используется для заполнения представлений, включая imageView. Когда я впервые загружаю адаптер, то элементы представления переработчика отображаются правильно. Но если я обновлю imageView и ресурс textview в источнике данных адаптера и вызову метод notifyDataSetChanged (), то обновляется только textview, а не imageView. Кто-нибудь может мне с этим помочь ? Заранее спасибо.
Например - это первый раз, когда я добавляю все элементы в пустой массив массивов внутри фрагмента и обновляю их методом notifyDataSetChanged (). До сих пор все в порядке, и изображения корректно загружаются в адаптер.
Ниже приведен метод getMethod ()
if(remindersListResponse.code == 200)
{
if(remindersListResponse.data != null)
{
photoContactList.clear();
photoContactList.addAll(remindersListResponse.data);
photoContactsAdapter.notifyDataSetChanged();
}
}
Теперь, если я снова вызываю getMethod при нажатии какой-либо кнопки во фрагменте и использую метод notifyDataSetChanged (). Тогда в элементах адаптера обновляется только текст, но не изображения, вместо этого они исчезают.
Это мой адаптер для метода onBindViewHolder (...)
@Override
public void onBindViewHolder(@NonNull final ViewHolder viewHolder, int i) {
final PhotoContactsResponse.Result photoContactDetail = photoContactList.get(i);
viewHolder.photoContactName.setText(photoContactDetail.name);
if(photoContactDetail.image!=null && !photoContactDetail.image.isEmpty()) {
viewHolder.addPhotoText.setVisibility(View.GONE);
Picasso.with(context)
.load(Constants.WEB_SERVICE_BASE_URL_FOR_IMAGE+photoContactDetail.image)
.networkPolicy(NetworkPolicy.NO_CACHE)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.into(viewHolder.photoContactImage);
}
else
{
viewHolder.addPhotoText.setVisibility(View.VISIBLE);
viewHolder.photoContactImage.setVisibility(View.GONE);
}
}
Это мой модельный класс
public static class Result{
public int id;
public String name;
public String number;
public String image;
public int index;
}