当前位置: 移动技术网 > 移动技术>移动开发>Android > Android编程实现Listview点击展开和隐藏的方法

Android编程实现Listview点击展开和隐藏的方法

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文实例讲述了android编程实现listview点击展开和隐藏的方法。分享给大家供大家参考,具体如下:

代码较多,所以找关键点大家贴出来,相信大家看了之后很容易就明白的,

在listview的activity中

list<map<string, object>> listitems = new arraylist<map<string, object>>()
myadapter = new myadapter(getapplicationcontext(), listitems);
listview.setadapter(myadapter);
listview.setonitemclicklistener(new onitemclicklistener() {
 @override
 public void onitemclick(adapterview<?> arg0, view arg1, int arg2,
   long arg3) {
   //点击的时候设置选中的编号,在自定义adapter中设置属性selectitem
   myadapter.setselectitem(arg2);
   //刷新listview
   myadapter.notifydatasetinvalidated();
 }
});

在自定义的myadapter的getview中,我的需要隐藏和展示的是个tablelayout默认是隐藏,定义属性int型selectitem和sign默认值均为-1,

tablelayout info = (tablelayout)convertview.findviewbyid(r.id.tablelayout1);
if(position == selectitem){//被选中的元素
  if(sign == selectitem){//再次选中的时候会隐藏,并初始化标记位置
     info.setvisibility(view.gone);
     //没有被选中设置透明色
   convertview.setbackgroundcolor(color.parsecolor("#00000000"));
   sign = -1;
  }else{//选中的时候会展示,并标记此位置
     info.setvisibility(view.visible);
     //被选中设置背景颜色
   convertview.setbackgroundcolor(color.parsecolor("#b0e2ff"));
   sign = selectitem;
 }
}else {//未被选中的元素
  info.setvisibility(view.gone);
  convertview.setbackgroundcolor(color.parsecolor("#00000000"));
}

可以实现点击展示,再次点击隐藏,点击展示只会有一个元素展示

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网