基于动态位置隐藏列表视图中的textview

时间:2014-09-09 09:13:36

标签: android listview

在我的listview中,我有3个textviews,我想在某些位置隐藏一个textview。 TextView必须隐藏的位置在运行时基于某些条件。

如果我想要隐藏索引,在数组中使用这个逻辑,那么它只为最后一个索引隐藏TextView。请帮忙。

int []x={1,2,4};
    for(int i=0;i<x.length;i++){


    if(position==x[i]){
        holder.time.setVisibility(View.GONE);
    }
    else{
        holder.time.setVisibility(View.VISIBLE);
    }
}

2 个答案:

答案 0 :(得分:1)

下面

    if(position==x[i]){
        holder.time.setVisibility(View.GONE);
    }
    else{
        holder.time.setVisibility(View.VISIBLE);
    }

将此更改为

if(position==x[i]){
     holder.time.setVisibility(View.GONE);
     break;
 }
else{
    holder.time.setVisibility(View.VISIBLE);
 }

 做这样的事

int []x={1,2,4};
    boolean exists = false;
    for(int i=0;i<x.length;i++)
    {
     if(position==x[i]){
        exists = true;
        break;
      }
   }
   if (exists)
      holder.time.setVisibility(View.GONE);
   else
     holder.time.setVisibility(View.VISIBLE);

答案 1 :(得分:1)

尝试使用OR条件,而不是for循环。

if (position == 1 || position == 2 || position == 4)
{
    holder.time.setVisibility(View.GONE);
}
else
{
    holder.time.setVisibility(View.VISIBLE);
}

编辑 ---您也可以尝试这种方式

   int []x={1,2,3,4};
    boolean hideMe ;
    for(int i = 0; i < x.length; i++)
    {
      hideMe = false;
     if(position == x[i])
     {
        hideMe = true;
        break;
     }
   }
   if (hideMe)
      holder.time.setVisibility(View.GONE);
   else
     holder.time.setVisibility(View.VISIBLE);