网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

android中如何实现ListView点击item使item展开

小编给大家分享一下android中如何实现ListView点击item使item展开,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

网站的建设创新互联专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为成都混凝土搅拌罐车等企业提供专业服务。

效果图:

android中如何实现ListView点击item使item展开

原理是点击item的时候,重新measure list的各个item的高度

list.setOnItemClickListener(new OnItemClickListener() {
 
  @Override
  public void onItemClick(AdapterView parent, View view, int position, long id) {
   MyData data = myList.get(position);
   if (oldPostion == position) {
     if (data.expand) {
      oldPostion = -1;
     }
     data.expand = !data.expand;
   }else{
     oldPostion = position;
     data.expand = true;
   }
    
   int totalHeight = 0;
   for(int i=0;i

adapter:

private class myAdapter extends BaseAdapter{
 
  @Override
  public int getCount() {
   return myList.size();
  }
 
  @Override
  public Object getItem(int position) {
   return myList.get(position);
  }
 
  @Override
  public long getItemId(int position) {
   return position;
  }
 
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    
   MyTag tag = new MyTag();
   MyData data = myList.get(position);
   if(convertView == null) {
     convertView = inflater.inflate(R.layout.expand_item_layout, null);
     tag.item1 = (TextView)convertView.findViewById(R.id.item1);
     tag.item2 = (RelativeLayout)convertView.findViewById(R.id.item2);
     convertView.setTag(tag);
   }else{
     tag = (MyTag)convertView.getTag();
   }
   if(data.expand) {
     tag.item2.setVisibility(View.VISIBLE);
   }else{
     tag.item2.setVisibility(View.GONE);
   }
    
   tag.item1.setText(data.name);
   return convertView;
  }
  
}
 
private class MyTag{
  private TextView item1;
  private RelativeLayout item2;
}
 
private class MyData{
  boolean expand;
  String name;
}

以上是“android中如何实现ListView点击item使item展开”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站名称:android中如何实现ListView点击item使item展开
分享URL:http://bjjierui.cn/article/ghgpsd.html

其他资讯