activity_main.xml
<RelativeLayout 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"
tools:context=".MainActivity">
<ExpandableListView
android:id="@+id/expandableListView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
MainActivity.java
package com.example.demo3;
import android.os.Bundle;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.SimpleExpandableListAdapter;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private ExpandableListView expandableListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
expandableListView = findViewById(R.id.expandableListView);
expandableListView.setGroupIndicator(null);
List<Map<String, String>> groupData = new ArrayList<>();
List<List<Map<String, String>>> childData = new ArrayList<>();
Map<String, String> group1 = new HashMap<>();
group1.put("group", "Group 1");
groupData.add(group1);
Map<String, String> group2 = new HashMap<>();
group2.put("group", "Group 2");
groupData.add(group2);
List<Map<String, String>> child1 = new ArrayList<>();
Map<String, String> child1Item1 = new HashMap<>();
child1Item1.put("child", "Child 1.1");
child1.add(child1Item1);
Map<String, String> child1Item2 = new HashMap<>();
child1Item2.put("child", "Child 1.2");
child1.add(child1Item2);
childData.add(child1);
List<Map<String, String>> child2 = new ArrayList<>();
Map<String, String> child2Item1 = new HashMap<>();
child2Item1.put("child", "Child 2.1");
child2.add(child2Item1);
Map<String, String> child2Item2 = new HashMap<>();
child2Item2.put("child", "Child 2.2");
child2.add(child2Item2);
childData.add(child2);
ExpandableListAdapter adapter = new SimpleExpandableListAdapter(this,
groupData, android.R.layout.simple_expandable_list_item_1, new String[]{"group"}, new int[]{android.R.id.text1},
childData, android.R.layout.simple_expandable_list_item_2, new String[]{"child"}, new int[]{android.R.id.text1}
);
expandableListView.setAdapter(adapter);
}
}
收缩状态
展开状态