Android_ExpandableListView_一个ListView实现二级列表
2016-10-09 15:24
786 查看
主要注意使用 ExpandableListView 和 ExpandableListAdapter
Android给我们提供了ExpandableListView类,极大的方便了我们开发二级分类。顾名思义,ExpandableListView是ListView的子类。它在普通的ListView的基础上进行了拓展,它把应用中的列表分为几组,每组又包含多个列表项。
ExpandableListView的用法和ListView非常像,只是其所显示的列表项应该由ExpandableListAdapter提供,下面是它的xml属性及说明:
<span style="white-space:pre"> </span>elv_demo = (ExpandableListView) findViewById(R.id.elv_demo);
MyExpandableListAdapter myExpandableListAdapter = new MyExpandableListAdapter(this);
elv_demo.setAdapter(myExpandableListAdapter);
3、MyExpandableListAdapter代码如下:
Android给我们提供了ExpandableListView类,极大的方便了我们开发二级分类。顾名思义,ExpandableListView是ListView的子类。它在普通的ListView的基础上进行了拓展,它把应用中的列表分为几组,每组又包含多个列表项。
ExpandableListView的用法和ListView非常像,只是其所显示的列表项应该由ExpandableListAdapter提供,下面是它的xml属性及说明:
<span style="white-space:pre"> </span>elv_demo = (ExpandableListView) findViewById(R.id.elv_demo);
MyExpandableListAdapter myExpandableListAdapter = new MyExpandableListAdapter(this);
elv_demo.setAdapter(myExpandableListAdapter);
3、MyExpandableListAdapter代码如下:
package imcs.cb.com.groupitemdemo.adapter; import android.content.Context; import android.database.DataSetObserver; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ExpandableListAdapter; import android.widget.TextView; import java.util.zip.Inflater; import imcs.cb.com.groupitemdemo.R; /** * Created by Ricky on 2016/10/8. */ public class MyExpandableListAdapter implements ExpandableListAdapter { private Context context; private LayoutInflater inflater; public MyExpandableListAdapter(Context context){ this.context = context; inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public void registerDataSetObserver(DataSetObserver dataSetObserver) { } @Override public void unregisterDataSetObserver(DataSetObserver dataSetObserver) { } /** * 组的数量 * @return */ @Override public int getGroupCount() { return 5; } /** * 第 i 组 的子条目数量 * @param i * @return */ @Override public int getChildrenCount(int i) { if (i == 0) { return 4; } else if (i == 1) { return 2; } else if (i == 2) { return 5; }else if (i == 3){ return 3; }else if (i == 4){ return 2; }else { return 0; } } @Override public Object getGroup(int i) { return i; } @Override public Object getChild(int i, int i1) { return null; } @Override public long getGroupId(int i) { return i; } @Override public long getChildId(int i, int i1) { return i*100 + i1; } @Override public boolean hasStableIds() { return true; } /** * * @param i 第 i 个组群 * @param b * @param view * @param viewGroup * @return */ @Override public View getGroupView(int i, boolean b, View view, ViewGroup viewGroup) { View groupView = inflater.inflate(R.layout.item_group ,null); TextView tv_title = (TextView) groupView.findViewById(R.id.tv_title); tv_title.setText("组群 " + i); return groupView; // return null; } /** * * @param i 第 i 组 * @param i1 第 i 组 的 第 i1 行 * @param b * @param view * @param viewGroup * @return */ @Override public View getChildView(int i, int i1, boolean b, View view, ViewGroup viewGroup) { View childView = inflater.inflate(R.layout.item_child ,null); TextView tv_title_child = (TextView) childView.findViewById(R.id.tv_title_child); tv_title_child.setText(i + "组 " + i1 + "子项"); return childView; } @Override public boolean isChildSelectable(int i, int i1) { return true; } @Override public boolean areAllItemsEnabled() { return false; } @Override public boolean isEmpty() { return false; } @Override public void onGroupExpanded(int i) { } @Override public void onGroupCollapsed(int i) { } @Override public long getCombinedChildId(long l, long l1) { return 0; } @Override public long getCombinedGroupId(long l) { return 0; } }
相关文章推荐
- Android电商项目 ExpandableListView(二级列表)实现购物车(高仿淘宝) demo
- [置顶] Android--ExpandableListview二级列表购物车功能实现
- Android UI ExpandableListView实现扩展列表
- android 实现QQ好友列表(扩展listview:ExpandableListView)
- Android学习第五天————ExpandableListView组件通过适配器BaseExpandableListAdapter实现两层列表项
- 在android里用ExpandableListView实现二层和三层列表源码
- android端获取网络数据添加到二级列表ExpandableListView
- 【深入篇】自定义ExpandableListView,实现二级列表效果
- 站在巨人的肩膀上---重新自定义 android- ExpandableListView 收缩类,实现列表的可收缩扩展
- android开发之ExpandableListView的使用,实现类似QQ好友列表
- Android_QQ好友列表实现---ExpandableListView可展开列表视图
- android 实现QQ好友列表(扩展listview:ExpandableListView)
- android Spinner实现一个二级联动的下拉列表,选定省份后,城市的下拉列表出现相应变化
- android ExpandableListView二级列表
- Android关于ExpandableListView用法的一个简单小例子。仿QQ列表
- android 实现QQ好友列表(扩展listview:ExpandableListView)
- android中用ExpandableListView实现三级扩展列表
- [Android实例] Expandablelistview实现,仿QQ人员列表,自制Shape
- 实现ExpandableListView 二级列表,点击二级条目状态的改变
- android中用ExpandableListView实现三级扩展列表(附源码)