Is there a better way of handling this list of strings?
===

I am developing an app for **Android**

I have different categories:

	String[] cat = { "Category",  "Books", "Clothing", "Shoes", "Hobbies", 
					 "General", "Electronics", "Transportation", "Medicine",
					 "Sports", "Education", "Outdoor"};

The UI asks the user to select a category, Name, and some description which is then written to a db. When the user presses the List button, every category that is filled is shown and the items under that category is also show using an **ExpandableListActivity**.

    List<List<String>> children = new ArrayList<List<String>>();

    /**********************
      I have a list for each category!!! But I don't like this solution. :(
    **********************/
	List<String> books = new ArrayList<String>();
	List<String> clothing = new ArrayList<String>();
        ...
        ...

	public void fillData() {
	
    // Get all of the notes from the database and create the item list
    Cursor c = mDbHelper.fetchAllItems();
    
    startManagingCursor(c);
    
    // for all rows
    for(int i=0; i<c.getCount(); i++)
    {
    	// next row
    	c.moveToNext();
    	
    	// pick a category
    	String t = c.getString(c.getColumnIndex("category"));
    	
    	switch (getCat(t))
    	{
    	case Books:
    		books.add(c.getString(c.getColumnIndex("name")));
    		break;
    	case Clothing:
                // do stuff for Clothing
    		break;
         
         /**
           And there are other cases for the rest of the categories but i am not listing
           them here, since it is the same process
         */
			default:
			break;
    	}   // end switch
    } // end for loop
    
        //for each category that has been filled up
        children.add(category);
    } // end function

**My Question:**

is it possible to not have to create a list for each category? I tried with one list but the results do not look very good. All categories show the same items and not the individual items, which makes sense.