今天给大家讲讲android的目录实现方法,就像大家看到的小说目录一样,android 提供了ExpandableListView控件可以实现二级列表展示效果,现在给大家讲讲这个控件的用法,下面是XML定义: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#FFFFFF" > <ExpandableListView android:id="@+id/elv_journal_catalog" android:layout_height="fill_parent" android:layout_width="fill_parent" android:cacheColorHint="#FFFFFF" /> </LinearLayout> 这代码很简单,和写listView的方法差不多,接下来是ExpandableListView在activity中的代码: 复制代码 代码如下: private ExpandableListView elv_journal_catalog; private List<List<Article>> childrenObj; private JournalCatalogListAdapter adapter; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.journal_catalog); init(); elv_journal_catalog.setGroupIndicator(null); elv_journal_catalog.setDivider(null); loadData(); private void init() { childrenObj = new ArrayList<List<Article>>(); @Override }.start(); adapter = new JournalCatalogListAdapter(this, childrenObj); ExpandableListView展示数据的时候默认是每个模块下的列表项是闭合状态的,如果要实现初始化的时候就展开可以通过ExpandableListView.expandGroup(location)方法来实现,而且每个父级列表项左边会出现一个系统自带的图标,这个图标是用来表示列表展开和闭合的状态的,如果不显示或者要替换这个图标可以用 复制代码 代码如下: public class JournalCatalogListAdapter extends BaseExpandableListAdapter { private LayoutInflater inflater; private String[] parent = new String[] { "美颜美体", "潮流单品", "娱乐八卦", "情感", private List<List<Article>> clildren = new ArrayList<List<Article>>(); public JournalCatalogListAdapter(Context context, @Override @Override @Override @Override @Override @Override @Override @Override String title = String.valueOf(getGroup(groupPosition)); @Override @Override |