从传递给构造函数的值在自定义ArrayAdapter中创建标头

时间:2014-11-27 11:15:29

标签: android header android-arrayadapter

我有按房间排序的数据库中的项目列表:

List<Item> items = database.getAllItemsOrderedByRoom();

每个项目都有roomID,还有其他一些属性。

我有CustomItemsArrayAdapter,它现在可以处理项目,但不会创建标题。

我想要做的是不仅使用项目创建列表,还根据项目内传递的值创建房间标题。所以它会像:

Long actualRoom = null;
for(Item item : items){
    Long itemRoom = item.getRoom;
    if(itemRoom != actualRoom){
         actualRoom = itemRoom;
         list.putRoomHeader(actualRoom);
         list.putItem(item);
    } else { 
         list.putItem(item);
    }
}

我想在使用构造函数后在CustomItemsArrayAdapter中使用它: adapter = new CustomItemsArrayAdapter(context,items); 我偶然发现了如何做标题的非常好的解释:Android ListView headers,但是它让我在创建适配器之前准备了值列表,如果我在我的应用程序中使用了很少的类似列表,那就不方便了。

有没有办法在CostomItemsArrayAdapter的构造函数中处理值?

1 个答案:

答案 0 :(得分:0)

使用展开式列表视图

访问http://developer.android.com/reference/android/widget/ExpandableListAdapter.html

使用Groupview作为部分。