布局:
<ExpandableListView
android:id="@+id/exlistview"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ExpandableListView>
赋值:<pre name="code" class="java">package com.example.zhoukao001;
import android.os.Bundle;
import android.app.Activity;
import android.database.DataSetObserver;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ExpandableListView exlistview;
private String[] group = new String[] { "魏", "蜀", "吴" };
private int[] grouplogo = new int[] { R.drawable.a, R.drawable.b, R.drawable.c };
private String[][] child = new String[][] {
{ "夏侯惇", "甄姬", "许褚", "郭嘉", "司马懿", "杨修" },
{ "马超", "张飞", "刘备", "诸葛亮", "黄月英", "赵云" },
{ "吕蒙", "陆逊", "孙权", "周瑜", "孙尚香" } };
private int[][] childLogo = new int[][] {
{ R.drawable.e, R.drawable.f, R.drawable.h, R.drawable.i,
R.drawable.g, R.drawable.k },
{ R.drawable.l, R.drawable.n, R.drawable.o, R.drawable.p,
R.drawable.f, R.drawable.h },
{ R.drawable.h, R.drawable.d, R.drawable.o, R.drawable.p,
R.drawable.f } };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
exlistview = (ExpandableListView) findViewById(R.id.exlistview);
exlistview.setAdapter(new myThread());
}
class myThread implements ExpandableListAdapter {
private TextView textgroup;
private ImageView imggroup;
private TextView textchild;
private ImageView imgchild;
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return group.length;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return child[groupPosition].length;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
convertView=View.inflate(MainActivity.this, R.layout.group, null);
textgroup=(TextView)convertView.findViewById(R.id.textgroup);
imggroup=(ImageView)convertView.findViewById(R.id.imagegroup);
textgroup.setText(group[groupPosition]);
imggroup.setImageResource(grouplogo[groupPosition]);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
convertView=View.inflate(MainActivity.this, R.layout.child, null);
textchild=(TextView)convertView.findViewById(R.id.textchild);
imgchild=(ImageView)convertView.findViewById(R.id.imagechild);
textchild.setText(child[groupPosition][childPosition]);
imgchild.setImageResource(childLogo[groupPosition][childPosition]);
return convertView;
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return 0;
}
@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 true;
}
@Override
public boolean areAllItemsEnabled() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public void onGroupExpanded(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public void onGroupCollapsed(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public long getCombinedChildId(long groupId, long childId) {
// TODO Auto-generated method stub
return 0;
}
@Override
public long getCombinedGroupId(long groupId) {
// TODO Auto-generated method stub
return 0;
}
}
}