我有一个 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 中显示这些数据。如您所见,每个部分可能有不同的部分标题。有人知道这样的 ListView 吗?目前我正在使用 http://code.google.com/p/android-amazing-listview/但它只允许所有部分都有固定的标题 View 。如果有人可以帮助我修改它或告诉我任何其他可以执行此操作的 ListView ,那将是真正的帮助。
谢谢
最佳答案
您可以使用不同的 View 类型,这意味着您可以为 ListView 中的不同类型的 View 使用不同类型的布局。只需在您的适配器中覆盖 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);
}
但是您是否考虑过使用表格布局?
关于Android 自定义节标题 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8724856/