android--------ExpandableListView的使用多级列表

多级列表ExpandableListView

扩展列表能够显示一个指示在每项显示项的当前状态(状态通常是一个扩展的组,组的孩子,或倒塌,最后一个孩子)。使用setchildindicator(drawable)或setgroupindicator(drawable)(或相应的XML属性)来设置这些指标,一个默认的风格多级列表提供指标,将示给意见多级列表。布局android.r.layout.simple_expandable_list_item_1和android.r.layout.simple_expandable_list_item_2(应用simplecursortreeadapter)包含位置信息的首选指标。

效果图:

 1 public class MainActivity extends Activity {
 2     private ExpandableListView listView;
 3     private List<String> group;
 4     private List<List<String>> child;
 5     private MyAdapter adapter;
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_main);
10         
11         listView = (ExpandableListView) findViewById(R.id.expandableListView);
12         /**
13          * 初始化数据 
14          */
15         initData();
16         adapter = new MyAdapter(this,group,child);
17         listView.setAdapter(adapter);
18     
19     }
20     
21     
22     
23 
24     private void initData() {
25         group = new ArrayList<String>();
26         child = new ArrayList<List<String>>();
27         addInfo("笑傲江湖",new String[]{"东方不败","风清扬","令狐冲","岳不群"});
28         addInfo("天龙八部", new String[]{"乔峰","虚竹","段誉"});
29         addInfo("九阴真经", new String[]{"中神通","东邪","西毒","南帝","北丐"});
30     }
31     
32     /**
33      * 添加数据信息
34      * @param g
35      * @param c
36      */
37     private void addInfo(String g,String[] c) {
38         group.add(g);
39         List<String> list = new ArrayList<String>();
40         for (int i = 0; i < c.length; i++) {
41             list.add(c[i]);
42         }
43         child.add(list);
44     }
45 
46 }

源代码下载

原文地址:https://www.cnblogs.com/zhangqie/p/6133302.html