在我的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);
}
}
答案 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);