Android自定义部分标题视图

时间:2012-01-04 09:51:56

标签: android listview

我有一个列表视图,其中应包含不同类型的数据。我想将它们分组。要求是每个节标题应具有不同的布局,例如 listview应该有以下结构。

DATA A       price     quanitity    weight    color
PICTURE       123.0       10          1       Green
PICTURE       190.0       12          2       Orange

DATA B      price       purity      weight
PICTURE      133.0       100%        10
PICTURE      142.0       92%         15

DATA C      price       quanity      weight  
PICTURE     103.0        10            12

如何在listview中显示此类数据。如您所见,每个部分可能有不同的部分标题。有人知道这样的列表视图吗?目前我正在使用http://code.google.com/p/android-amazing-listview/,但它只允许所有部分都有固定的标题视图。如果有人可以帮我修改它或者告诉我任何其他列表视图,那么这将是真正的帮助。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用不同的viewTypes,这意味着您可以在listview中为不同类型的视图使用不同类型的布局。只需在适配器中调用getViewType(int pos)。您可以在getView中设置不同的布局,如此

if (getItemViewType(position) == VIEW_TYPE_LEFT) {
            convertView = inflater.inflate(R.layout.image_bubble_left, null);
            holder.drawable = (NinePatchDrawable) convertView.findViewById(R.id.bubble_left_layout).getBackground();
            holder.bubbleLayout = (RelativeLayout)convertView.findViewById(R.id.bubble_left_layout);

        } else {
            convertView = inflater.inflate(R.layout.image_bubble_right, null);
            holder.drawable = (NinePatchDrawable) convertView.findViewById(R.id.bubble_right_layout).getBackground();
            holder.bubbleLayout = (RelativeLayout)convertView.findViewById(R.id.bubble_right_layout);
        }

但你考虑过使用tablelayout吗?

答案 1 :(得分:0)

我认为此链接会对您有所帮助。这是一个复制粘贴示例。它只是有效。是一个列表视图,每行包含标题和多个视图。 试试看。 http://w2davids.wordpress.com/android-sectioned-headers-in-listviews/