列表视图:Headers 和自定义布局行

Listview: Headers and custom layout rows

在 Android 中,我有一个列表视图,它使用自定义适配器来更改列表视图每一行的外观。但是,我需要找到一种使用和适配器的方法,以便能够针对特定方块进行多种不同的布局。我还希望能够使用我从未使用过的 Headers 。我希望它看起来像这里的布局:

我怎样才能最好地做到这一点?谢谢!

ListView 用于布局,其中包含对象列表,每行的布局相同。在你的情况下,我认为你应该设计一个你想要的布局,不要使用 ListView。

我认为您不需要在此处使用列表视图。但如果您想使用具有不同行布局的列表视图,请在您的适配器中这样做:

private static final int ROW_TYPE1 = 0;
private static final int ROW_TYPE2 = 1;
private static final int ROW_TYPE3 = 2;
int type;

@Override
public int getItemViewType(int position) {
if (position == 0)
    type = ROW_TYPE1;
else if (position == 1)
    type = ROW_TYPE2;
else
    type = ROW_TYPE3;
return type;
}

@Override
 public int getViewTypeCount() {
    return 3; 
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
if (convertView  == null)
switch (type) {
    case ROW_TYPE1:
        // inflate layout1
        break;
    case ROW_TYPE2:
        // inflate layout2
        break;
    case ROW_TYPE3:
        // inflate layout3
        break;
    default:
        break;
    }
}