列表视图: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;
}
}
在 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;
}
}