80,351
社区成员
发帖
与我相关
我的任务
分享
list=(ExpandableListView)findViewById(R.id.list);
List<String> GroupList=new ArrayList<String>();
List<List<String>> childs = new ArrayList<List<String>>();
GroupList.add("第一项");
GroupList.add("第二项");
List<String> itemList1=new ArrayList<String>();
itemList1.add("第一项第一行");
itemList1.add("第一项第二行");
childs.add(itemList1);
List<String> itemList2=new ArrayList<String>();
itemList2.add("第二项第一行");
itemList2.add("第二项第二行");
childs.add(itemList2);
list.setAdapter(new MyExpandableListAdapter(GroupList,childs,MainActivity.this));
class MyExpandableListAdapter extends BaseExpandableListAdapter
{
private List<String> GroupList=null;
private List<List<String>> childs=null;
private Context mContext=null;
public MyExpandableListAdapter(List<String> groupList,
List<List<String>> childs,Context context) {
super();
GroupList = groupList;
this.childs = childs;
this.mContext=context;
}
@Override
public Object getChild(int groupPosition,
int childPosition) {
// TODO Auto-generated method stub
return childs.get(groupPosition).get(childPosition);
}
@Override
public long getChildId(int groupPosition,
int childPosition) {
// TODO Auto-generated method stub
return childPosition;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return childs.get(groupPosition).size();
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return GroupList.get(groupPosition);
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return GroupList.size();
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public View getGroupView(int groupPosition,
boolean isExpanded, View convertView,
ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView==null)
{
LayoutInflater _Layoutinflater=LayoutInflater.from(mContext);
convertView=_Layoutinflater.inflate(R.layout.groups,null);
TextView grouptext=(TextView)convertView.findViewById(R.id.textGroup);
grouptext.setText(getGroup(groupPosition).toString());
}
return convertView;
}
@Override
public View getChildView(int groupPosition,
int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView==null)
{
LayoutInflater _Layoutinflater=LayoutInflater.from(mContext);
convertView=_Layoutinflater.inflate(R.layout.childs,null);
TextView childtext=(TextView)convertView.findViewById(R.id.textChild);
Log.i("my", getChild(groupPosition, childPosition).toString());
childtext.setText(getChild(groupPosition, childPosition).toString());
}
return convertView;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean isChildSelectable(int groupPosition,
int childPosition) {
// TODO Auto-generated method stub
return true;
}
};
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context=".MainActivity" >
<ExpandableListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="9pt"
android:textColor="#000000"
/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textChild"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="15sp"
/>
</LinearLayout>