public class MainActivity extends Activity {
private ExpandableListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ExpandableListView) findViewById(R.id.exlistview);
MyAdapter adapter=new MyAdapter(this);
lv.setAdapter(adapter);
lv.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView arg0, View arg1, int arg2,
int arg3, long arg4) {
// TODO Auto-generated method stub
return false;
}
});
}
}
自定义adapter
public class MyAdapter extends BaseExpandableListAdapter{
private Context context;
private String [] st={"家人","朋友"};
private String [][] fimily={{"爸爸","妈妈","哥哥"},{"小王","小明","小红"}};
MyAdapter(Context context){
this.context=context;
}
@Override
public Object getChild(int arg0, int arg1) {
// TODO Auto-generated method stub
return fimily[arg0][arg1];
}
@Override
public long getChildId(int arg0, int arg1) {
// TODO Auto-generated method stub
return arg1;
}
@Override
public int getChildrenCount(int arg0) {
// TODO Auto-generated method stub
return fimily[arg0].length;
}
@Override
public Object getGroup(int arg0) {
// TODO Auto-generated method stub
return st[arg0];
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return st.length;
}
@Override
public long getGroupId(int arg0) {
return arg0;
}
@Override
public View getChildView(int arg0, int arg1, boolean arg2, View convertView,
ViewGroup arg4) {
viewHolder holder;
if(convertView==null){
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.childview, null);
holder=new viewHolder();
holder.tv=(TextView) convertView.findViewById(R.id.title);
convertView.setTag(holder);
}else{
holder=(viewHolder) convertView.getTag();
}
holder.tv.setText(fimily[arg0][arg1]);
return convertView;
}
@Override
public View getGroupView(int arg0, boolean arg1, View convertView, ViewGroup v) {
viewHolder holder;
if(convertView==null){
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.grovview, null);
holder=new viewHolder();
holder.tv=(TextView) convertView.findViewById(R.id.titles);
convertView.setTag(holder);
}else{
holder=(viewHolder) convertView.getTag();
}
holder.tv.setText(st[arg0]);
return convertView;
}
@Override
public boolean isChildSelectable(int arg0, int arg1) {
// 二级标签能否被选中
return true;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
class viewHolder{
TextView tv;
}
}