Android ExpandableListAdapter添加/删除组

Android ExpandableListAdapter添加/删除组,android,expandablelistadapter,Android,Expandablelistadapter,我需要能够在expandableListAdapter中动态创建和删除组。我已经查遍了所有我能找到的,我被卡住了。我不需要特定的代码,只需要指向正确的方向 首先,我们需要一些数据结构(保留对它们的引用供以后使用) 到目前为止,我们有一个空的可扩展列表。我们可以动态地填充它(例如使用AsyncTask),方法是创建哈希映射,为我们正在使用的键提供值,然后将它们添加到列表中 例如,要添加一个包含两个孩子的组,我们可能 HashMap<String, String> group = new

我需要能够在expandableListAdapter中动态创建和删除组。我已经查遍了所有我能找到的,我被卡住了。我不需要特定的代码,只需要指向正确的方向

首先,我们需要一些数据结构(保留对它们的引用供以后使用)

到目前为止,我们有一个空的可扩展列表。我们可以动态地填充它(例如使用AsyncTask),方法是创建哈希映射,为我们正在使用的键提供值,然后将它们添加到列表中

例如,要添加一个包含两个孩子的组,我们可能

HashMap<String, String> group = new HashMap<String, String>();
group.put("name", "whatever...");
group.put("fields", "...");

ArrayList<HashMap<String, Object>> groupChildren = new ArrayList<HashMap<String, Object>>();

HashMap<String, Object> child1 = new HashMap<String, Object>();
child1.put("name", "child name");
child1.put("fields", "...");

HashMap<String, Object> child2 = new HashMap<String, Object>();
child2.put("name", "another child");

groupChildren.add(child1);
groupChildren.add(child2);

headerData.add(group);
childData.add(groupChildren);

我希望这能帮助你朝着正确的方向前进。就数据存储方式而言,ExpandableList无疑是更复杂的Android视图之一。

首先,我们需要一些数据结构(保留对它们的引用供以后使用)

到目前为止,我们有一个空的可扩展列表。我们可以动态地填充它(例如使用AsyncTask),方法是创建哈希映射,为我们正在使用的键提供值,然后将它们添加到列表中

例如,要添加一个包含两个孩子的组,我们可能

HashMap<String, String> group = new HashMap<String, String>();
group.put("name", "whatever...");
group.put("fields", "...");

ArrayList<HashMap<String, Object>> groupChildren = new ArrayList<HashMap<String, Object>>();

HashMap<String, Object> child1 = new HashMap<String, Object>();
child1.put("name", "child name");
child1.put("fields", "...");

HashMap<String, Object> child2 = new HashMap<String, Object>();
child2.put("name", "another child");

groupChildren.add(child1);
groupChildren.add(child2);

headerData.add(group);
childData.add(groupChildren);
我希望这能帮助你朝着正确的方向前进。就数据存储方式而言,ExpandableList无疑是更复杂的Android视图之一

HashMap<String, String> group = new HashMap<String, String>();
group.put("name", "whatever...");
group.put("fields", "...");

ArrayList<HashMap<String, Object>> groupChildren = new ArrayList<HashMap<String, Object>>();

HashMap<String, Object> child1 = new HashMap<String, Object>();
child1.put("name", "child name");
child1.put("fields", "...");

HashMap<String, Object> child2 = new HashMap<String, Object>();
child2.put("name", "another child");

groupChildren.add(child1);
groupChildren.add(child2);

headerData.add(group);
childData.add(groupChildren);
adapter.notifyDataSetChanged();