在自定义列表视图动态隐藏查看Android中
我有,我有一个TextView和ImageView的 现在我想隐藏或在ListView ONY一些项目显示ImageView的自定义列表视图。在自定义列表视图动态隐藏查看Android中
我已经完成了这个使用getview方法,但问题是,当第一次显示列表视图时,视图不会隐藏,但当我向下滚动并向上滚动时,它会被隐藏。以下是代码片段。提前致谢。
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;
}
}
}
请尝试以下代码。希望它可以帮助
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;
这也并没有为我工作。事实上,在向下滚动和向上滚动后,视图不会隐藏。视图保持不变。任何解决方案? – kendrelaxman 2012-08-14 10:45:16
我做了一些小的改动。试一次 – Braj 2012-08-14 10:53:23
伟大这工作for.I已接受的解决方案,请告诉我什么是滚动时的问题?在4位的图像位置后此溶液 – kendrelaxman 2012-08-21 04:38:33
请删除的条件,即如果其他人(不把检查convertView)
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.jazzartist, null);
holder.albumsView = (TextView)convertView.findViewById(R.id.artist_albums_textview);
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 convertView;
}
没有工作。事实上,在向下滚动和向上滚动后,视图不会隐藏。 – kendrelaxman 2012-08-14 10:39:51
不使用此行.. 视图V = super.getView(位置,convertView,亲本); 使用View v = convertView;如果 – SilentKiller 2012-08-14 10:13:03
应用程序崩溃我删除行 – kendrelaxman 2012-08-14 10:33:55
尝试通过Braj给出的代码......也不错的多数民众赞成代码.. – SilentKiller 2012-08-14 10:35:41