国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android的ListView點擊item使item展開的做法的實現代碼

2019-12-12 00:25:07
字體:
來源:轉載
供稿:網友

本文介紹了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<myAdapter.getCount();i++) {     View viewItem = myAdapter.getView(i, null, list);     viewItem.measure(0, 0);     totalHeight += viewItem.getMeasuredHeight();   }       ViewGroup.LayoutParams params = list.getLayoutParams();   params.height = totalHeight      + (list.getDividerHeight() * (list.getCount() - 1));   list.setLayoutParams(params);   myAdapter.notifyDataSetChanged();  }});

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 福清市| 淳化县| 离岛区| 桓仁| 峨山| 安新县| 仙桃市| 左权县| 梁山县| 潮州市| 修文县| 呼伦贝尔市| 宁夏| 兰坪| 南宫市| 兴海县| 汶上县| 弥渡县| 新安县| 扬州市| 修文县| 彩票| 津市市| 陈巴尔虎旗| 巩义市| 永仁县| 墨竹工卡县| 新化县| 东源县| 无锡市| 佳木斯市| 苏尼特左旗| 乌拉特前旗| 阿巴嘎旗| 长阳| 庆元县| 通榆县| 罗山县| 江陵县| 东兴市| 张掖市|