0

в методе getView. Я загружаю изображение в изображение. Если в некоторых строках нет изображения, тогда видимость изображения будет отсутствовать. я поставил условие для этого. теперь моя проблема заключается в том, что при прокрутке списка в списках некоторые строки с изображениями автоматически скрывают изображение, а некоторые строки не имеют изображения, которое может получить это изображение.В Listview некоторые строки с ImageView

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    ViewHolder holder = null; 

    if(convertView == null) { 
     holder = new ViewHolder(); 

     convertView = LayoutInflater.from(context).inflate(R.layout.list_items_exhibition, null); 

     holder.img = (ImageView) convertView.findViewById(R.id.img); 

     convertView.setTag(holder); 

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

    DataBean bean = (DataBean) list.get(position); 

    if(bean.getImgUrl() == null){ 
     holder.img.setVisibility(View.GONE); 
    } else { 
     imageloader.displayImage(bean.getImgUrl(), holder.img, option); 
    } 
} 

любезно игнорируйте мою грамматическую ошибку на английском языке.

ответ

1

Снова Установить видимость для ImageView

if(bean.getImgUrl() == null){ 
    holder.img.setVisibility(View.GONE); 
} else { 
    holder.img.setVisibility(View.VISIBLE); //Add this line 
    imageloader.displayImage(bean.getImgUrl(), holder.img, option); 
} 
+0

спасибо, что это прекрасная работа для меня. –

1

Вы должны изменить visibilité назад View.VISIBLE когда вы assigh изображение в ImageView.

+0

Я дал вам право голоса. спасибо за ans. –

0

Вы должны использовать как getViewTypeCount() и getItemViewType(int position) в адаптере для обработки ListView, имеющее изображение в некоторых строках только ,, простого setVisibility(View.VISIBLE) не будут работать в вашем случае, потому что андроид кэшей ваших изображений после получения загружена

В вашем случае getViewTypeCount() должен вернуться «2», потому что вы говорите андроида есть два типа строк, которые необходимо кэшировать отдельно и в getItemViewType(int position) вы сказать, что те два типа

Как

if(bean.getImgUrl() == null){ 
    return 0; 
}else{ 
    return 1; 
} 

Refer this solution for more details

 Смежные вопросы

  • Нет связанных вопросов^_^