转自该位置
package com.quding.listview;
import android.app.Activity;
import android.database.DataSetObserver;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
/**
* 数据:一维或二维数组 == 定义adapter == 为listview添加adapter
*/
public class ListViewActivity extends Activity {
private String[][] child = {
{ "11111", "22222", "33333", "44444", "55555" },
{ "11111", "22222", "33333", "44444", "55555" },
{ "11111", "22222", "33333", "44444", "55555" },
{ "11111", "22222", "33333", "44444", "55555" } };
private String group[] = { "group1", "group2", "group3", "group4", };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ExpandableListView mExpandableListView = (ExpandableListView) findViewById(R.id.eapandable_listview);
mExpandableListView.setBackgroundColor(Color.LTGRAY);
// // 头和尾
// TextView text1 = new TextView(getApplicationContext());
// text1.setText("first1");
// mListView.addHeaderView(text1);
// TextView text3 = new TextView(getApplicationContext());
// text3.setText("first2");
// mListView.addHeaderView(text3);
//
// TextView text2 = new TextView(getApplicationContext());
// text2.setText("end");
// mListView.addFooterView(text2);
mExpandableListView.setAdapter(new ExpandableListAdapter() {
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
// TODO Auto-generated method stub
}
@Override
public void onGroupExpanded(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public void onGroupCollapsed(int groupPosition) {
// TODO Auto-generated method stub
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
@Override
public boolean hasStableIds() {
return true;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
TextView mTextView = new TextView(getApplicationContext());
mTextView.setText(group[groupPosition]);
mTextView.setTextColor(Color.RED);
mTextView.setPadding(40, 0, 0, 0);
mTextView.setTextSize(20);
return mTextView;
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public int getGroupCount() {
return group.length;
}
@Override
public Object getGroup(int groupPosition) {
return group[groupPosition];
}
@Override
public long getCombinedGroupId(long groupId) {
return 0;
}
@Override
public long getCombinedChildId(long groupId, long childId) {
return 0;
}
@Override
public int getChildrenCount(int groupPosition) {
return child[0].length;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
TextView mTextView = new TextView(getApplicationContext());
mTextView.setText(child[groupPosition][childPosition]);
mTextView.setTextColor(Color.BLUE);
mTextView.setGravity(Gravity.CENTER);
mTextView.setTextSize(15);
return mTextView;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return child[groupPosition][childPosition];
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
});
}
}