【问题标题】:In Listview some rows with ImageView在 Listview 一些带有 ImageView 的行
【发布时间】:2016-03-30 14:30:59
【问题描述】:

在下面的 getView 方法中,我在 imageview 中加载图像。 如果某些行没有任何图像,则 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);
    }
}

请忽略我的英语语法错误。

【问题讨论】:

    标签: android listview android-listview universal-image-loader


    【解决方案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);
    }
    

    【讨论】:

      【解决方案2】:

      当您将图像分配给 ImageView 时,您应该将 visibilité 改回 View.VISIBLE。

      【讨论】:

        【解决方案3】:

        您应该在适配器中同时使用getViewTypeCount()getItemViewType(int position) 来处理仅在某些行中具有图像的列表视图,简单的setVisibility(View.VISIBLE) 在您的情况下不起作用,因为android 在加载后会缓存您的图像

        在你的情况下 getViewTypeCount() 应该返回 '2' ,因为你告诉 android 有两种类型的行需要单独缓存,而在 getItemViewType(int position) 你告诉这两种类型是什么

        喜欢

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

        Refer this solution for more details

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多