Android控件之ExpandableListView多级列表

来源:互联网 发布:文本特征提取算法 编辑:程序博客网 时间:2024/06/05 22:56

Android控件之ExpandableListView多级列表

效果展示:
这里写图片描述
直接上源码:

package com.example.expandablelistview;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.BaseExpandableListAdapter;import android.widget.ExpandableListAdapter;import android.widget.ExpandableListView;import android.widget.ExpandableListView.OnChildClickListener;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {    private ExpandableListView expandableListView1;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        expandableListView1=(ExpandableListView) findViewById(R.id.expandableListView1);        expandableListView1.setAdapter(new myadapter());        expandableListView1.setOnChildClickListener(new OnChildClickListener() {            @Override            public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {                // TODO Auto-generated method stub                Toast.makeText(getApplicationContext(),childs[groupPosition][childPosition], 1000).show();                return true;            }        });    }        private String[] groups= {"老师","朋友"};        private String[][] childs= {{"王老师","张老师","朱老师"},{"王小明","张小丽","朱晓红"}};        class myadapter extends BaseExpandableListAdapter{            @Override            public int getGroupCount() {                // TODO Auto-generated method stub                return groups.length;            }            @Override            public int getChildrenCount(int groupPosition) {                // TODO Auto-generated method stub                return childs[groupPosition].length;            }            @Override            public Object getGroup(int groupPosition) {                // TODO Auto-generated method stub                return groups[groupPosition];            }            @Override            public Object getChild(int groupPosition, int childPosition) {                // TODO Auto-generated method stub                return childs[groupPosition][childPosition];            }            @Override            public long getGroupId(int groupPosition) {                // TODO Auto-generated method stub                return groupPosition;            }            @Override            public long getChildId(int groupPosition, int childPosition) {                // TODO Auto-generated method stub                return childPosition;            }            //这个方法一般不用重写            @Override            public boolean hasStableIds() {                // TODO Auto-generated method stub                return false;//这个方法一般不用重写            }            @Override            public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {                // TODO Auto-generated method stub                    if(convertView==null) {                        convertView=getLayoutInflater().inflate(R.layout.group_layout,null);                    }                        TextView title= (TextView) convertView.findViewById(R.id.group_textView);                        title.setText(groups[groupPosition]);                return convertView;            }            @Override            public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView,                    ViewGroup parent) {                // TODO Auto-generated method stub                if(convertView==null) {                    convertView=getLayoutInflater().inflate(R.layout.child_layout,null);                }                TextView title=(TextView) convertView.findViewById(R.id.child_textView);                title.setText(childs[groupPosition][childPosition]);                return convertView;            }            //这个方法是子选项是否可以被选中,我们直接返回true;            @Override            public boolean isChildSelectable(int groupPosition, int childPosition) {                // TODO Auto-generated method stub                return true;            }        }}
原创粉丝点击