public class ExpandableListSample4Xml extends ExpandableListActivity {
private int mGroupIdColumnIndex;
// Sample data set.
private String mMailboxList[]={
"Inbox", "Sentbox", "Draft",
"Outbox", "Email inbox", "Conversation",
"Trash", "My folders"
};
private String mSender[][] = {
{"Andrew1", "Andrew2", "Andrew3", "Andrew4","Andrew5", "Andrew6"},
{"Jeff1", "Jeff2", "Jeff3", "Jeff4", "Jeff5", "Jeff6", "Jeff7"},
{"ED1", "ED2", "ED3", "ED4", "ED5"},
{"Rachel1", "Rachel2", "Rachel3", "Rachel4"},
{"Sean1", "Sean2", "Sean3", "Sean4", "Sean5"},
{"Karen1", "Karen2", "Karen3", "Karen4", "Karen5", "Karen6", "Karen7"},
{"Lisa1", "Lisa2", "Lisa3", "Lisa4", "Lisa5"},
{"Rain1", "Rain2", "Rain3", "Rain4", "Rain5"}};
private String mMailContext[][] = {
{"I'm going to go to watch movie!!!!!!!!!!!!!!!!!!!!!!!!!!",
"Hello....", "Nice to meet you", "Call me plz..",
"Are you busy", "Call me plz.." },
{"hi" , "Call me plz.." , "hello",
"I'm going to go to watch movie!!!!!!!!!!!!!!!!!!!!!!!!!!",
"Hello....", "Nice to meet you", "Call me plz.."},
{"hi,baby", "Call me plz.." , "hi" , "Call me plz.." , "hello"},
{"I'm going to go to watch movie!!!!!!!!!!!!!!!!!!!!!!!!!!",
"Hello....", "Nice to meet you", "Call me plz.."},
{"hi", "Call me plz.." , "hi" , "Call me plz.." , "?????"},
{"12312412","12414124","12412421",
"458645754","dfgsdgsdf","sdfgdfgh","sdfgdsfgh"},
{"vclkj","lkvoajh","alskdjfoivj","jvlkjasldkf","79837214"},
{"975432","kbvhuoisj","4362435,","342532","236dgasdt"}};
private String groupFrom[] = {"title"};
private int groupTo[] = {android.R.id.text1};
private String childFrom[] = {"name", "message"};
private int childTo[] = {R.id.child_name, R.id.child_message};
private ExpandableListAdapter mAdapter;
private ArrayList<Map<String, String>> groupData =
new ArrayList<Map<String, String>>();
private ArrayList<ArrayList<Map<String, String>>> childData =
new ArrayList<ArrayList<Map<String, String>>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Query for people
Cursor groupCursor = managedQuery(Phone.CONTENT_URI,
new String[] {Phone._ID, Phone.DISPLAY_NAME}, null, null, null);
// Cache the ID column index
mGroupIdColumnIndex = groupCursor.getColumnIndexOrThrow(Phone._ID);
// make data for group & child
for(int i = 0; i < mMailboxList.length; i++) {
HashMap<String, String> tempGroupData = new HashMap<String, String>();
ArrayList<Map<String, String>> tmpChild = new ArrayList<Map<String, String>>();
tempGroupData.put(groupFrom[0], mMailboxList);
for(int j = 0; j < mSender.length; j++) {
HashMap<String, String> tempChildData = new HashMap<String, String>();
tempChildData.put(childFrom[0], mSender[j]);
tempChildData.put(childFrom[1], mMailContext[j]);
tmpChild.add(tempChildData);
}
groupData.add(tempGroupData);
childData.add(tmpChild);
}
// Set up our adapter
mAdapter = new MyExpandableListAdapter(this,
groupData,
android.R.layout.simple_expandable_list_item_1,
groupFrom,
groupTo,
childData,
R.layout.expandablelistsample4xml_child,
childFrom,
childTo);
setListAdapter(mAdapter);
}
public class MyExpandableListAdapter extends SimpleExpandableListAdapter {
public MyExpandableListAdapter(Context context,
List<? extends Map<String, ?>> groupData,
int groupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String, ?>>> childData,
int childLayout,
String[] childFrom,
int[] childTo) {
super(context, groupData, groupLayout, groupFrom, groupTo, childData,
childLayout, childFrom, childTo);
}
}
}