我是Android开发新手...我想通过ARRAY将数据传递给2个ListViews。我应该使用2D阵列吗?怎么样?
我想做的是;
例如:在ListView1中有
水果
蔬菜
肉
当你点击listviv1中的Fruits时,结果(Mango,Banana,Apple,PineApple)应该在ListView2中显示。我知道我可以使用可扩展的ListViews,但我不想这样做。我需要使用2个ListViews。 到目前为止,我做到了;
String items[] = { "Fruits", "Vegetables", "Jooses", "Meat", "Toys",
"Cookeys" };
String[][] groups = { { "Mango", "Banana", "Apple", "grapes", "paln" },
{ "Banana", "Apple", "grapes", "paln", "Green" },
{ "Red", "Green" }, { "Carrot" }
listviv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
switch (arg2) {
case 0:
Listviv.setAdapter(adapter2);
break;
case 1:
break;
default:
break;
}
}
答案 0 :(得分:0)
我相信ExpandableListView
和ExpandableListAdapter
是你想要的。它看起来像是:
(来自this artical的图片,这是关于ExpandableListView
)的教程
然而,如果您坚持使用一个ListView
,MergeAdapter可以在某种程度上达到此目的。 This answer可能会有所帮助。
此外,您可以使用多个片段实现此功能,即第一个片段显示类别,单击任何项目时,显示包含详细信息的第二个片段。