xiaoyan_12
2013-01-11 09:44
采纳率: 84.9%
浏览 5.5k

在一个自定义适配器中设置ImageView的可见性

我自定义了一个列表适配器。我想要列表适配器中的图像根据一个值来显示或隐藏。但是我发现这个图像的可见性也不是依据这个值的。如何运用这个值设置ImageView的可见性呢?
下面是我的代码,代码是在 getView 方法中设置的

singleRow=data.get(position);
     readit = singleRow.getRead();
    Log.i("readit","" + readit );
    //NotificationID=singleRow.getId();
    holder.title.setText(singleRow.getAttach_title());
    holder.date.setText( singleRow.getAttach_created());
    holder.dueDate.setVisibility(ImageView.INVISIBLE);
    holder.course.setText(singleRow.getCourse_title());

    if(readit==1)
            {
                //holder.read.setImageResource(IGNORE_ITEM_VIEW_TYPE);
                holder.read.setVisibility(ImageView.INVISIBLE);
            }
            else
             {
              holder.read.setImageResource(R.drawable.unread);
             }
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 琴弦欲奏 2013-01-17 02:54
    已采纳

    holder.dueDate.setVisibility(ImageView.INVISIBLE);

    这个代码不对
    隐藏一个控件是设置setVisibility()方法,不过里面的值不是ImageView.INVISIBLE,而是应该改成View.INVISIBLE(此为显示,隐藏为GONE),若你要显示则为myView.setVisibility(View.INVISIBLE);
    若要根据值来设置,则需要先需要获取要隐藏的控件
    然后自己进行逻辑判断值,再进行相应的隐藏或显示操作
    具体怎么设置就看你自己了

    打赏 评论
  • Curie-87 2013-01-14 01:48
    singleRow=data.get(position);   
        readit = singleRow.getRead();   
            Log.i("readit","" + readit );  
        //NotificationID=singleRow.getId();   
            holder.title.setText(singleRow.getAttach_title());    
            holder.date.setText( singleRow.getAttach_created());  
        holder.dueDate.setVisibility(ImageView.INVISIBLE);    
            holder.course.setText(singleRow.getCourse_title());  
            holder.read.setImageResource(R.drawable.unread); 
    
            if(readit==1) {   
            //holder.read.setImageResource(IGNORE_ITEM_VIEW_TYPE); 
            holder.read.setVisibility(View.INVISIBLE); 
                        }
    

    使用这段代码,能解决你的问题。

    打赏 评论

相关推荐 更多相似问题