首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
本文介绍了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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。
ipad mini升级ios8.1卡不卡 ip
上北下南看主板:谈主板南北桥
浅谈数码相机照片发灰的问题
芭蕾舞蹈表演,真实美到极致
下午茶时间,悠然自得的休憩
充斥这繁华奢靡气息的城市迪拜风景图片
从山间到田野再到大海美丽的自然风景图片
肉食主义者的最爱美食烤肉图片
夏日甜心草莓美食图片
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
Android基于IJKPlayer视频播放器简
一篇文章弄懂Android自定义viewgro
详解Gradle依赖冲突解决方式
android桌面悬浮窗显示录屏时间控
网友关注