a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

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

2019-10-21 21:34:00
字體:
來源:轉載
供稿:網友

本文介紹了androidListView點擊item使item展開的做法的實現代碼,分享給大家,具體如下:

效果圖:

android,ListView,點擊,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

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本精品中文字幕 | 免费黄色在线网址 | 91成人精品| 91资源总站 | 久久久久久久国产精品 | 日韩一区二区视频 | 九九热视频精品在线 | 一区二区不卡视频在线观看 | 国产成人一区二区三区 | 国产大片久久久 | 第一福利丝瓜av导航 | 四季久久免费一区二区三区四区 | 国产激情毛片 | 精品国产一区二区三区久久久蜜月 | 无码一区二区三区视频 | 在线观看一区 | 老师的朋友2 | 九九亚洲精品 | 夜夜骑天天操 | 欧美天堂在线 | 久久一日本道色综合久久 | 色综合久久88色综合天天 | 久久av网 | 成人免费视频观看视频 | 国产一区二区三区视频在线观看 | 欧美精品在线视频 | 在线激情网 | 97香蕉久久国产超碰青草软件 | 精品96久久久久久中文字幕无 | 欧美成人精品一区二区男人看 | 久久久久久久伦理 | 欧美一区在线视频 | 亚洲八区| 欧美精品二区中文乱码字幕高清 | 在线免费视频成人 | 欧洲精品乱码久久久久蜜桃 | 精品久久在线 | 天堂av中文 | 在线看国产| 啵啵影院午夜男人免费视频 | 人人草在线观看视频 |