动态隐藏在视图列表视图定制Android中 [英] Dynamically hiding Views in Custom Listview in Android

查看:244
本文介绍了动态隐藏在视图列表视图定制Android中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有,我有一个TextView和ImageView的自定义列表视图
现在我想隐藏或在ListView ONY一些物品显示ImageView的。

我已经这样做了使用getview的方法,但问题是,当在第一时间显示在列表视图查看没有得到隐藏,但是当我向下滚动,滚动那个时候它被隐藏。以下是code片段。先谢谢了。

 公共查看getView(INT位置,查看convertView,父母的ViewGroup){
        视图V = super.getView(位置,convertView,父母);
        ViewHolder持有人;
        如果(V = convertView和放大器;!&安培;!V = NULL){
             持有人=新ViewHolder();
             convertView = mInflater.inflate(R.layout.jazzartist,NULL);
             holder.albumsView =(TextView中)convertView.findViewById(R.id.artist_albums_textview);
             v.setTag(保持器);
          }
        其他{
       支架=(ViewHolder)convertView.getTag(); }        ViewHolder holder1 =(ViewHolder)v.getTag();
        holder1.objimg =(ImageView的)convertView.findViewById(R.id.drag);
        如果(位置== 4){            (holder1.objimg).setVisibility(View.INVISIBLE); //我在这里藏身的ImageView为4位            }
        其他
        {            (holder1.objimg).setVisibility(View.VISIBLE); //我在这里展示的物品的其余部分的ImageView
        }
                 字符串专辑=的getItem(位置).albums;        holder1.albumsView.setText(专辑);        返回伏;
      }
    }    }


解决方案

尝试下面code。希望它能帮助

  ViewHolder持有人;
            如果(convertView == NULL)
            {
                 持有人=新ViewHolder();
                 convertView = mInflater.inflate(R.layout.jazzartist,NULL);
                 holder.albumsView =(TextView中)convertView.findViewById(R.id.artist_albums_textview);
                 holder.objimg =(ImageView的)convertView.findViewById(R.id.drag);
                 convertView.setTag(保持器);
            }
            其他
            {
                支架=(ViewHolder)convertView.getTag();
            }            如果(位置== 4)
            {
                holder.objimg.setVisibility(View.INVISIBLE); //我在这里藏身的ImageView为4位
            }
            其他
            {
                holder.objimg.setVisibility(View.VISIBLE); //我在这里展示的物品的其余部分的ImageView
            }            字符串专辑=的getItem(位置).albums;
            holder.albumsView.setText(专辑);            返回convertView;

I have a custom listview in which I have a Textview and Imageview now I want to hide or display the Imageview for some Items in the Listview ony.

I have done this using getview method but the problem is that when the Listview is displayed at first time the View does not get hide but when I scroll down and scroll up that time it gets hidden. following is the code snippet. Thanks in advance.

 public View getView(int position, View convertView, ViewGroup parent) {
        View v = super.getView(position, convertView, parent);
        ViewHolder holder;
        if (v != convertView && v != null) {
             holder = new ViewHolder();            
             convertView = mInflater.inflate(R.layout.jazzartist, null);
             holder.albumsView = (TextView)convertView.findViewById(R.id.artist_albums_textview);
             v.setTag(holder);


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

        ViewHolder holder1 = (ViewHolder) v.getTag();
        holder1.objimg =  (ImageView)convertView.findViewById(R.id.drag); 
        if(position == 4){  

            (holder1.objimg).setVisibility(View.INVISIBLE); // here I am hiding Imageview for position 4

            } 
        else
        {

            (holder1.objimg).setVisibility(View.VISIBLE); // here I am showing Imageview for rest of items
        }
                 String albums = getItem(position).albums;

        holder1.albumsView.setText(albums);

        return v;
      }
    }

    }

解决方案

Try below code. Hope it helps

            ViewHolder holder;
            if(convertView == null) 
            {
                 holder = new ViewHolder();            
                 convertView = mInflater.inflate(R.layout.jazzartist, null);
                 holder.albumsView = (TextView)convertView.findViewById(R.id.artist_albums_textview);
                 holder.objimg =  (ImageView)convertView.findViewById(R.id.drag); 
                 convertView.setTag(holder);
            }
            else
            {     
                holder = (ViewHolder) convertView.getTag();     
            } 

            if(position == 4)
            {
                holder.objimg.setVisibility(View.INVISIBLE); // here I am hiding Imageview for position 4
            } 
            else
            {
                holder.objimg.setVisibility(View.VISIBLE); // here I am showing Imageview for rest of items
            }

            String albums = getItem(position).albums;
            holder.albumsView.setText(albums);

            return convertView;

这篇关于动态隐藏在视图列表视图定制Android中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆