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