欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-19 20:38:22
本文实例讲述了android编程实现listview点击展开和隐藏的方法。分享给大家供大家参考,具体如下: 代码较多,所以找关键点大家贴出来,相信大家看了之后很容易就明白...

本文实例讲述了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程序设计有所帮助。

上一篇:

下一篇: