ExpandableListView(可展开的列表组件)的说明以及其用法
来源:互联网 发布:caffe ubuntu 编辑:程序博客网 时间:2024/04/30 03:58
1、ExpandableListViewActivity.java关键代码如下:
(要定义一个全局的私有的listView变量)
listView = (ExpandableListView) findViewById(R.id.list);MyExpandableListAdapter adapter = new MyExpandableListAdapter();listView.setAdapter(adapter);
2、MyExpandableListAdapter代码如下:
public class MyExpandableListAdapter implements ExpandableListAdapter { int[] logos = new int[]{ R.drawable.word, R.drawable.excel, R.drawable.email, R.drawable.ppt }; private String[] armTypes = new String[]{ "WORD", "EXCEL", "EMAIL", "PPT" }; private String[][] arms = new String[][]{ {"文档编辑", "文档排版", "文档处理", "文档打印"}, {"表格编辑", "表格排版", "表格处理", "表格打印"}, {"收发邮件", "管理邮箱", "登录登出", "注册绑定"}, {"演示编辑", "演示排版", "演示处理", "演示打印"}, }; @Override public void registerDataSetObserver(DataSetObserver observer) { } @Override public void unregisterDataSetObserver(DataSetObserver observer) { } @Override public int getGroupCount() { return armTypes.length; } @Override public int getChildrenCount(int groupPosition) { return arms[groupPosition].length; } @Override public Object getGroup(int groupPosition) { return armTypes[groupPosition]; } @Override public Object getChild(int groupPosition, int childPosition) { return arms[groupPosition][childPosition]; } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public boolean hasStableIds() { return true; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { LinearLayout ll = new LinearLayout(ExpandableListViewActivity.this); ll.setOrientation(LinearLayout.HORIZONTAL); ImageView logo = new ImageView(ExpandableListViewActivity.this); logo.setImageResource(logos[groupPosition]); logo.setPadding(36, 15, 0, 0); ll.addView(logo); TextView textView = getTextView(); textView.setText(getGroup(groupPosition).toString()); textView.setPadding(10, 0, 0, 0); ll.addView(textView); return ll; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { TextView textView = getTextView(); textView.setText(getChild(groupPosition, childPosition).toString()); return textView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } @Override public boolean areAllItemsEnabled() { return false; } @Override public boolean isEmpty() { return false; } @Override public void onGroupExpanded(int groupPosition) { } @Override public void onGroupCollapsed(int groupPosition) { } @Override public long getCombinedChildId(long groupId, long childId) { return 0; } @Override public long getCombinedGroupId(long groupId) { return 0; } private TextView getTextView() { AbsListView.LayoutParams lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 64); TextView textView = new TextView(ExpandableListViewActivity.this); textView.setLayoutParams(lp); textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT); textView.setPadding(36, 0, 0, 0); textView.setTextSize(20); return textView; }}
代码上面没有做多少注释,在这里说明一下吧:
该adapter有两个关键方法:getChildView()和getGroupView();
----------前者返回的view对象作为子列表项,后者返回的view作为组列表项。
3、下面是该程序的运行界面了:
阅读全文
0 0
- ExpandableListView(可展开的列表组件)的说明以及其用法
- ExpandableListView(可展开的列表组件)的说明以及其用法
- ExpandableListView(可展开的列表组件)的说明以及其用法
- ExpandableListView(可展开的列表组件)的说明以及其用法
- ExpandableListView(可展开的列表组件)的说明以及其用法
- 可展开的列表组件ExpandableListView
- 可展开的列表组件ExpandableListView
- 可展开的列表组件ExpandableListView
- ExpandableListView-可展开的列表组件
- 可展开的列表组件 ExpandableListview
- ExpandableListView--可展开的列表组件
- ExpandableListView(似listview中的item可展开)可展开的列表组件
- Android中可展开的列表组件(ExpandableListView)的使用
- ExpandableListView可展开的列表组件详细解析
- 可展开的列表组件——ExpandableListView简单举例
- Android可展开的列表组件(ExpandableListView)模板
- 可展开的列表组件——ExpandableListView深入解析
- ExpandableListview控件使用---可展开的列表组件
- QLCDNumber学习整理
- [noip模拟2017.7.3]
- postgresql9.6 安装plpython3
- 笔记——变量多重定义的问题
- python删除不需要的python文件
- ExpandableListView(可展开的列表组件)的说明以及其用法
- SharedPreferences应用
- BZOJ 1823 [JSOI2010] 满汉全席
- Vue 命名视图是个啥?
- Jack requires Build Tools 24.0.0 or later
- Android so文件保护——使用upx加壳
- HTML5列表、表格、媒体、结构元素、iframe
- HttpClient_Post
- java中static代码块,final关键字