ExpandableListView的用法,类似qq的联系人功能
2016-07-07 16:26
302 查看
private void initView() {
ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.expand_listview);
//设置 属性 GroupIndicator 去掉默认向下的箭头 expandListView.setGroupIndicator(null);
//也可以在布局文件中通过属性设置,android:groupIndicator=”@null”
MyGroupAdapter adapter = new MyGroupAdapter();
expandableListView.setAdapter(adapter);
expandableListView.setOnGroupClickListener(new OnGroupClickListener() {
ExpandableListView expandableListView = (ExpandableListView) findViewById(R.id.expand_listview);
//设置 属性 GroupIndicator 去掉默认向下的箭头 expandListView.setGroupIndicator(null);
//也可以在布局文件中通过属性设置,android:groupIndicator=”@null”
MyGroupAdapter adapter = new MyGroupAdapter();
expandableListView.setAdapter(adapter);
expandableListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override public boolean onGroupClick(ExpandableListView arg0, View arg1, int groupPosition, long arg3) { Toast.makeText(MainActivity.this, "点击的组是"+groupPosition,0).show(); return false; } }); expandableListView.setOnChildClickListener(new OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { Toast.makeText(MainActivity.this, "点击的是"+groupPosition+"的第"+childPosition+"个孩子",0).show(); return false; } }); } private class MyGroupAdapter extends BaseExpandableListAdapter{ @Override public Object getChild(int arg0, int arg1) { return null; } @Override public long getChildId(int arg0, int arg1) { return 0; } @Override public View getChildView(int arg0, int arg1, boolean arg2, View convertView, ViewGroup arg4) { if (convertView == null) { convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_child_item, null); } return convertView; } @Override public int getChildrenCount(int arg0) { return 3; } @Override public Object getGroup(int arg0) { return null; } @Override public int getGroupCount() { return 8; } @Override public long getGroupId(int arg0) { return arg0; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parentGroup) { convertView = View.inflate(MainActivity.this, R.layout.listview_group_item, null); ImageView iv = (ImageView) convertView.findViewById(R.id.iv); if (isExpanded) {//自己设置箭头的位置,形状,isExpanded表示展开状态 iv.setBackgroundResource(R.drawable.arrows_1); }else { iv.setBackgroundResource(R.drawable.arrows_0); } return convertView; } @Override public boolean hasStableIds() { return false; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } }
相关文章推荐
- 用 Swift 编写面向协议的网络请求
- 操作系统精髓与设计原理(原书第6版)——学习笔记(8)
- asp.net-EF事物与存储过程
- Android 性能分析工具dumpsys的使用
- oracle分析函数:一、窗口子句的使用
- 【编程语言】Python 程序死循环解决方案
- WOW.js+animate.css让页面滚动时显示动画,使页面更有趣
- ubuntu中opencv编译问题
- Tomcat中JVM内存溢出及合理配置
- windows 程序异常崩溃等错误定位
- Java文件读写
- Windows消息拦截技术的应用(作者博客里有许多相关文章)
- 经典开源作品
- 通过tcpdump对iOS进行流量分析(无需越狱)
- php实现xml与json之间的相互转换功能实例
- 关于热修复框架nuwa的使用
- 相同的雪花
- jenkins安装与配置
- Linux系统Time_Wait状态的端口快速释放
- js强大函数replace详解,利用其做模板方法与数据绑定