public class Main extends Activity {
int[] images;
String[] desc;
String[][] sonDesc;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//1.获取到视图主键
ExpandableListView list=(ExpandableListView) findViewById(R.id.expandableListView1);
//2.创建一个适配器BaseExpandableListAdapter
BaseExpandableListAdapter adapter=new BaseExpandableListAdapter() {
int [] images={R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4};
String[] desc={"漂亮的杯子","可爱的女孩","好喝的牛奶","美女...."};
String[][] sonDesc={
{"红杯子","绿杯子","黄杯子","紫杯子"},
{"小女孩","好女孩","坏女孩 ","大女孩"},
{"纯牛奶","酸奶","早餐奶","晚餐奶"},
{"美女1","美女2","美女3"}
};
@Override
public int getGroupCount() {
//返回列表项的个数
return images.length;
}
@Override
public int getChildrenCount(int groupPosition) {
//返回指定子列表项的个数
return sonDesc[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return desc[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return sonDesc[groupPosition][childPosition];
}
@Override
public long getGroupId(int groupPosition) {
//返回组的id
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
//返回子列表项的id
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) {
//返回列表项显示的视图
LinearLayout ll=new LinearLayout(Main.this);
ll.setOrientation(0);
ImageView image=new ImageView(Main.this);
image.setLayoutParams(new LayoutParams(100,100));//设置图片大小
image.setImageResource(images[groupPosition]);//设置图片
TextView text=new TextView(Main.this);
text.setText(desc[groupPosition]);//设置文本
ll.addView(image);
ll.addView(text);
return ll;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
//返回子列表项显示的视图
LinearLayout ll=new LinearLayout(Main.this);
ll.setOrientation(0);
TextView text=new TextView(Main.this);
text.setTextColor(Color.CYAN);
text.setText(sonDesc[groupPosition][childPosition]);
ll.addView(text);
return ll;
}
@Override
public boolean isChildSelectable(int groupPosition,
int childPosition) {
// TODO Auto-generated method stub
return true;
}
};
//将list
list.setAdapter(adapter);
list.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
String s=sonDesc[groupPosition][childPosition];
Intent intent=new Intent(Main.this,chart.class);
//intent.putExtra("name", s);
startActivity(intent);
return false;
}
});
}
}