本文介绍了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;}

代码在https://github.com/nickgao1986/StepSport

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. android Toast大全(五种)
  2. android源代码下载、编译、刷机、编译模块push到手机
  3. 使用proguard进行代码混淆时的问题
  4. HelloAndroid例子
  5. CSS 3模仿android 中的toast效果
  6. Android学习之Animation(一)
  7. android activity向fragment通信,获取fragment的三种方法
  8. Android(安卓)MediaScanner.cpp 源代码解析
  9. Android之对话框Dialog(二)

随机推荐

  1. 【handler】Android定时每十分钟执行一次
  2. android 中对apache httpclient及httpurl
  3. Android清理设备内存具体完整演示样例(一
  4. android拍照,调用系统相册,相片上传
  5. Android api对应版本(持续更新)
  6. Android窗体自定义标题栏
  7. Android之Bluetooth编程
  8. android P-sensor (Proximity Sensor)
  9. android通讯录数据库操作
  10. android 3G 手机信号 信息获取