拡張リストビュー:
拡張リストビューは、リストデータをカテゴリ別にグループ化するために使用します。ユーザーがヘッダーにタッチすると、グループを展開したり折りたたんだりすることができます。
拡張可能なリストビューを作成するには、3つのxmlレイアウトファイルが必要です。最初はメインリストビュー、リストビューグループ項目は2番目、リストビューの子項目は3番目です。
ExpandableListAdapter.javaという名前の新しいクラスファイルを作成し、これをBaseExpandableListAdapterから拡張します。このクラスは、リストビューをレンダリングするために必要なメソッドを提供します。あなたは以下のようにExpandableListViewためにDataListコントロールを作成する必要がアダプタを作成するための
getGroupView() – Returns view for the list group header
getChildView() – Returns view for list child item
:
* Preparing the list data
*/
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
// Adding child data
listDataHeader.add("OS");
listDataHeader.add("LANGUAGE");
listDataHeader.add("IDE");
// Adding child data
List<String> OS= new ArrayList<String>();
OS.add("Windows");
OS.add("Linux");
OS.add("Android");
OS.add("MAC");
List<String> LANGUAGE= new ArrayList<String>();
LANGUAGE.add("JAVA");
LANGUAGE.add("C");
LANGUAGE.add("C++");
LANGUAGE.add("PHP");
LANGUAGE.add("objective c");
LANGUAGE.add("ROR");
List<String> IDE= new ArrayList<String>();
IDE.add("Android Studio");
IDE.add("Eclipse");
IDE.add("NetBeans");
IDE.add("xcode");
listDataChild.put(listDataHeader.get(0), OS); // Header, Child data
listDataChild.put(listDataHeader.get(1), LANGUAGE);
listDataChild.put(listDataHeader.get(2), IDE);
}
詳細は、拡張可能なリストビュー
http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/