2011-11-27 92 views
0

我正在定义我自己的列表适配器,并且我希望显示其中的图像或基于值隐藏我已经注意到它始终不可见或可见的无视值将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); 
      } 
+0

还有一件事,我不能只用setImageResource(1),因为它会搞乱了整个界面 –

回答

0

你永远设置你read图像回VISIBLE你一旦把它设置为INVISIBLE后里面。在else你,或许,应该有setVisibility(VISIBLE)

+0

谢谢你的工作,但空间不见了,用户界面搞砸了:( –

+0

你可以尝试用GONE而不是INVISIBLE。用INVISIBLE,图像变得不可见,但它占据的地方仍然存在。它完全消失了,除此之外不能说没有看到你的XML –

1
holder.dueDate.setVisibility(View.GONE); 
+0

你是什么意思? –

+0

GONE将删除该空间,整个UI将会混乱。我正在使用相对布局 –

0

使用此code.It将解决您的问题

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); 
        } 
相关问题