public class MainActivity extends Activity {
// 组的数据
String[] group = { "古代美女", "近代美女", "现代美女" };
int[] groupIcon = { R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher };
// child数据
String[][] child = { { "大乔", "小乔", "李师师", "凋残" }, { "冯程程", "周旋", "林徽因" },
{ "范冰冰", "凤姐", "刘亦菲" } };
int[][] childIcon = {
{ R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher, R.drawable.ic_launcher },
{ R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher },
{ R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher } };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ExpandableListView exl = (ExpandableListView) findViewById(R.id.exl);
exl.setAdapter(new MyAdapter());
}
class MyAdapter extends BaseExpandableListAdapter {
// 获得每组中每个child的对象
@Override
public Object getChild(int groupPosition, int childPosition) {
return child[groupPosition][childPosition];
}
// 获得child的id
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
// child视图
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View v = View.inflate(MainActivity.this, R.layout.child, null);
ImageView iv = (ImageView) v.findViewById(R.id.ch_iv);
TextView tv = (TextView) v.findViewById(R.id.ch_tv);
iv.setImageResource(childIcon[groupPosition][childPosition]);
tv.setText(child[groupPosition][childPosition]);
return v;
}
// child个数
@Override
public int getChildrenCount(int groupPosition) {
return child[groupPosition].length;
}
// 获得每组对象
@Override
public Object getGroup(int groupPosition) {
return group[groupPosition];
}
// 组个数
@Override
public int getGroupCount() {
return group.length;
}
// 获得组的id
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
// 组的视图
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View v = View.inflate(MainActivity.this, R.layout.group, null);
ImageView gr_iv = (ImageView) v.findViewById(R.id.gr_iv);
TextView gr_tv = (TextView) v.findViewById(R.id.gr_tv);
gr_iv.setImageResource(groupIcon[groupPosition]);
gr_tv.setText(group[groupPosition]);
return v;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
}
}
ExpandableListView
最新推荐文章于 2021-05-25 17:22:05 发布