Mega Code Archive

 
Categories / Android / UI
 

Demonstrates expandable lists backed by a Simple Map-based adapter

/*  * Copyright (C) 2007 The Android Open Source Project  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ package com.example.android.apis.view; import android.app.ExpandableListActivity; import android.os.Bundle; import android.widget.ExpandableListAdapter; import android.widget.SimpleExpandableListAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /**  * Demonstrates expandable lists backed by a Simple Map-based adapter  */ public class ExpandableList3 extends ExpandableListActivity {     private static final String NAME = "NAME";     private static final String IS_EVEN = "IS_EVEN";          private ExpandableListAdapter mAdapter;          @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();         List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();         for (int i = 0; i < 20; i++) {             Map<String, String> curGroupMap = new HashMap<String, String>();             groupData.add(curGroupMap);             curGroupMap.put(NAME, "Group " + i);             curGroupMap.put(IS_EVEN, (i % 2 == 0) ? "This group is even" : "This group is odd");                          List<Map<String, String>> children = new ArrayList<Map<String, String>>();             for (int j = 0; j < 15; j++) {                 Map<String, String> curChildMap = new HashMap<String, String>();                 children.add(curChildMap);                 curChildMap.put(NAME, "Child " + j);                 curChildMap.put(IS_EVEN, (j % 2 == 0) ? "This child is even" : "This child is odd");             }             childData.add(children);         }                  // Set up our adapter         mAdapter = new SimpleExpandableListAdapter(                 this,                 groupData,                 android.R.layout.simple_expandable_list_item_1,                 new String[] { NAME, IS_EVEN },                 new int[] { android.R.id.text1, android.R.id.text2 },                 childData,                 android.R.layout.simple_expandable_list_item_2,                 new String[] { NAME, IS_EVEN },                 new int[] { android.R.id.text1, android.R.id.text2 }                 );         setListAdapter(mAdapter);     } }