Android ExpandableListView From Database
Posted
by
SterAllures
on Stack Overflow
See other posts from Stack Overflow
or by SterAllures
Published on 2012-03-18T13:18:32Z
Indexed on
2012/03/21
11:29 UTC
Read the original article
Hit count: 301
I want to create a two level ExpandableListView from a local database.
The group level I want to get the names from the database Category table
category_id | name
-------------------
1 | NameOfCategory
the children level I want to get the names from the List table
list_id | name | foreign_category_id
--------------------------------
1 | Listname | 1
I've got a method in DatabaseDAO to get all the values from the table
public List<Category> getAllCategories()
{
database = dbHelper.getReadableDatabase();
List<Category> categories = new ArrayList<Category>();
Cursor cursor = database.query(SQLiteHelper.TABLE_CATEGORY, null, null, null, null, null, null);
cursor.moveToFirst();
while(!cursor.isAfterLast())
{
Category category = cursorToCategory(cursor);
categories.add(category);
cursor.moveToNext();
}
cursor.close();
return categories;
}
Now adding the names to the group level is easy I do it the following way:
ArrayList<String> groups;
for(Category c : databaseDao.getAllCategories())
{
groups.add(c.getName());
}
Now I want to add the children to the ExpandableListView in the following array ArrayList<ArrayList<ArrayList<String>>> children;
.
How do I get the children under the correct group name? I think it has to do somenthing with groups.indexOf() but in the list table I only have a foreign category_id and not the actual name.
© Stack Overflow or respective owner