/** Helper Method to create Demo Groups and Children */ private void initDemoData() { this.groups = new ArrayList<GroupClass>(); for (int groupCounter = 1; groupCounter <= 25; groupCounter++) { GroupClass group = new GroupClass("Group " + groupCounter); // Just a little trick to get a different number of children per group int numberOfChildren = (23 % groupCounter) + 2; for (int childCounter = 0; childCounter < numberOfChildren; childCounter++) { ChildClass child = new ChildClass( "Child " + childCounter, "Text for Child " + childCounter + " Text for Child " + childCounter + " Text for Child " + childCounter + " Text for Child " + childCounter + " Text for Child " + childCounter); group.addChild(child); } this.groups.add(group); } }
@Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (item.getItemId() == R.id.add_item) { GroupClass newGroup = new GroupClass("New Group " + System.currentTimeMillis()); newGroup.addChild(new ChildClass("New Child", "Child Text: " + System.currentTimeMillis())); this.groups.add(0, newGroup); this.adapter.notifyDataSetChanged(); return true; } else if (item.getItemId() == R.id.remove_item) { this.groups.remove(0); this.adapter.notifyDataSetChanged(); return true; } else { return super.onMenuItemSelected(featureId, item); } }