person_layout.xml部分:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@mipmap/ic_launcher"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="昵称"
android:textSize="20sp"
android:id="@+id/textView_name"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/imageView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="说话"
android:textSize="15sp"
android:id="@+id/textView_say"
android:layout_below="@+id/textView_name"
android:layout_toEndOf="@+id/imageView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15:30"
android:textSize="12sp"
android:id="@+id/textView_time"
android:layout_alignBottom="@+id/textView_say"
android:layout_alignParentEnd="true" />
</RelativeLayout>
————————————————————————————————————————————————————————————
group_layout.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="30dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:textSize="24sp"
android:id="@+id/textView_group" />
</LinearLayout>
MainActivity 布局
<ExpandableListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/ex_listView"></ExpandableListView>
</RelativeLayout>
————————————————————————————————————————————————————————
Activity代码部分:
public class Main2Activity extendsAppCompatActivity {
private ExpandableListView ex_ListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
ex_ListView = (ExpandableListView) findViewById(R.id.ex_listView);
initData();
ex_ListView.setAdapter(new DataAdapter());
}
String[] groups = {"英雄","美人"};
List<List<Person>> childs = new ArrayList<>();
public void initData(){
List<Person> man = new ArrayList<>();
List<Person> woman = new ArrayList<>();
man.add(new Person("马哥","长点眼色儿...","09:10",R.mipmap.ic_launcher));
man.add(new Person("照亮","今天下浮发您微信了","6:10",R.mipmap.ic_launcher));
man.add(new Person("国栋","CC放个二联纸","13;10",R.mipmap.ic_launcher));
man.add(new Person("三豆","带钢提成大家都有份啊","8:30",R.mipmap.ic_launcher));
woman.add(new Person("CC","到点儿,吃啥呢?","11:55",R.mipmap.ic_launcher));
woman.add(new Person("会会","我好像又瘦了","7:55",R.mipmap.ic_launcher));
woman.add(new Person("勾神","周一不值班了!","8:30",R.mipmap.ic_launcher));
woman.add(new Person("明星","张翰真帅!","23:30",R.mipmap.ic_launcher));
childs.add(man);
childs.add(woman);
}
private class DataAdapter extendsBaseExpandableListAdapter{
@Override
public int getGroupCount() {
return groups.length;
}
@Override
public int getChildrenCount(int groupPosition) {
return childs.get(groupPosition).size();
}
@Override
public Object getGroup(int groupPosition) {
return groups[groupPosition];
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return childs.get(groupPosition).get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getGroupView(intgroupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if(convertView==null){
convertView =getLayoutInflater().inflate(R.layout.group_layout,null);
}
TextView textView_group =(TextView) convertView.findViewById(R.id.textView_group);
textView_group.setText(groups[groupPosition]);
return convertView;
}
@Override
public View getChildView(int groupPosition, int childPosition, booleanisLastChild, View convertView, ViewGroup parent) {
if(convertView==null){
convertView =getLayoutInflater().inflate(R.layout.person_layout,null);
}
ImageView imageView = (ImageView)convertView.findViewById(R.id.imageView);
TextView textView_name = (TextView)convertView.findViewById(R.id.textView_name);
TextView textView_say = (TextView)convertView.findViewById(R.id.textView_say);
TextView textView_time = (TextView)convertView.findViewById(R.id.textView_time);
List<Person> list = childs.get(groupPosition);
Person p = list.get(childPosition);
imageView.setImageResource(p.getIcon());
textView_name.setText(p.getName());
textView_say.setText(p.getSay());
textView_time.setText(p.getTime());
return convertView;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
}