总结一下ExpandableListView的使用
ExpandableListView与ListView用法差不多,它也有自己的适配器,可以根据自己的需求继承BaseExpandableListAdapter,自己写适配器
先上效果图
和ListView用法差不多,从项目中摘的代码
- <span style="white-space:pre"> </span>inEditText = (EditText) findViewById(R.id.infusion_et_in);
- e_lv = (ExpandableListView) findViewById(R.id.infusion_elv);
- e_lv.setAdapter(new InfusionParentAdapter(getApplication()));
- public class InfusionParentAdapter extends BaseExpandableListAdapter {
- private Context context;
- private String[] generalsTypes = new String[] { "张三", "李四" };
- private String[][] generals = new String[][] { { "1", "2", "3" },
- { "4", "5", "6" } };
- public InfusionParentAdapter() {
- }
- public InfusionParentAdapter(Context context) {
- this.context = context;
- }
- @Override
- public Object getChild(int groupPosition, int childPosition) {
- // TODO Auto-generated method stub
- return generals[groupPosition][childPosition];
- }
- @Override
- public long getChildId(int groupPosition, int childPosition) {
- // TODO Auto-generated method stub
- return childPosition;
- }
- @Override
- public View getChildView(int groupPosition, int childPosition,
- boolean isLastChild, View convertView, ViewGroup parent) {
- // TODO Auto-generated method stub
- convertView = LayoutInflater.from(context).inflate(
- R.layout.list_item_child, null);
- return convertView;
- }
- @Override
- public int getChildrenCount(int groupPosition) {
- // TODO Auto-generated method stub
- return generals[0].length;
- }
- @Override
- public Object getGroup(int groupPosition) {
- // TODO Auto-generated method stub
- return generalsTypes[groupPosition];
- }
- @Override
- public int getGroupCount() {
- // TODO Auto-generated method stub
- return generalsTypes.length;
- }
- @Override
- public long getGroupId(int groupPosition) {
- // TODO Auto-generated method stub
- return groupPosition;
- }
- @Override
- public View getGroupView(int groupPosition, boolean isExpanded,
- View convertView, ViewGroup parent) {
- // TODO Auto-generated method stub
- convertView=LayoutInflater.from(context).inflate(R.layout.list_item_infusion_elistview, null);
- return convertView;
- }
- @Override
- public boolean hasStableIds() {
- // TODO Auto-generated method stub
- return false;
- }
- @Override
- public boolean isChildSelectable(int groupPosition, int childPosition) {
- // TODO Auto-generated method stub
- return false;
- }
- }