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;
// MainActivity.java
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<>();
// 一级菜单项1
Map<String, String> group1 = new HashMap<>();
group1.put("group", "Group 1");
groupData.add(group1);
//一级菜单项2
Map<String, String> group2 = new HashMap<>();
group2.put("group", "Group 2");
groupData.add(group2);
// 一级菜单1项对应的二级菜单项
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);
// 一级菜单2项对应的二级菜单项
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);
}
}