Android 有没有更好的方法来处理这个字符串列表?

Android 有没有更好的方法来处理这个字符串列表?,android,expandablelistview,Android,Expandablelistview,我正在为Android开发一个应用程序 我有不同的分类: String[] cat = { "Category", "Books", "Clothing", "Shoes", "Hobbies", "General", "Electronics", "Transportation", "Medicine", "Sports", "Education", "Outdoor"}; 用户界面要求用户选择一个类别、名称和一些描述,

我正在为Android开发一个应用程序

我有不同的分类:

String[] cat = { "Category",  "Books", "Clothing", "Shoes", "Hobbies", 
                 "General", "Electronics", "Transportation", "Medicine",
                 "Sports", "Education", "Outdoor"};
用户界面要求用户选择一个类别、名称和一些描述,然后将其写入数据库。当用户按下列表按钮时,将显示所填写的每个类别,并使用ExpandableListActivity显示该类别下的项目

我的问题:


是否可以不必为每个类别创建列表?我尝试了一个列表,但结果看起来不是很好。所有类别都显示相同的项目,而不是单个项目,这很有意义。

您不需要自己创建列表

您可能希望有两个表-一个列出类别名称及其id,这将是主表键,另一个列出每行具有单个项目的类别id、项目名称以及其他任何内容的内容

然后您可以使用SimpleCorSortreeAdapter,如下所示:

SimpleCursorTreeAdapter (Context context, Cursor cursor, int groupLayout, String[] groupFrom, int[] groupTo, int childLayout, String[] childFrom, int[] childTo).
对于groupLayout,您将有android.R.layout.simple\u可扩展的\u列表\u项\u 1。对于childLayout,您将有android.R.layout.simple\u list\u item\u 1

对你来说

String[] childFrom = { FLD_ITEM_NAME };
int[] childTo = { android.R.id.text1 };
字符串[]groupFrom={FLD_CATEGORY_NAME}; int[]groupTo={android.R.id.text1}

为了你的孩子

String[] childFrom = { FLD_ITEM_NAME };
int[] childTo = { android.R.id.text1 };
或者,如果要显示1或2个以上的元素,可以使用自己的布局

你会有

protected Cursor getChildrenCursor(Cursor groupCursor) {
      int categoryId = groupCursor.getColumnIndex(FLD_CATEGORY_ID);
      // and here you a Cursor from your items table WHERE CTAEGORY_ID == categoryId
}

我只是创建了一个列表,然后工作:

我真的不这么认为。列表似乎是构建数据结构的最佳方式,而不会变得过于复杂。但如果说用户想要删除某个项目,这不是有点混乱吗。例如,在书中我想删除“perl编程”?@rashid我的意思是SimpleCursorTreeAdapter可以在可扩展的ListView中显示表数据