0

我想创建一个具有交替行布局的 ListView。

Row 1 - Layout A
Row 2 - Layout B
Row 3 - Layout A etc.

是否有必要为此创建一个自定义适配器,或者默认情况下可以吗?

4

3 回答 3

2

不,如果没有 Adapter,您将无法做到这一点,但请查看BaseAdaptergetViewTypeCount()getItemViewType(postion),因为它们会支持您。

首先让您的适配器知道您的行有多少不同的类型;在您的情况下,它们是 2(布局 A 和布局 B)。

第二种方法返回给定位置的类型。在您的情况下,它可能很简单,例如以下代码。

@Override
public int getItemViewType(int postion){
    return (postion % 2);

请参阅:http ://android.amberfog.com/?p=296了解更多信息。

于 2012-12-07T13:33:40.497 回答
1

如果您的列表中没有那么多项目,则根本不需要使用ListView或适配器。

对于类似的结果,您可以在 a 中使用LinearLayouta ScrollView

通过这种方式,您可以LinearLayout根据列表中的位置使用相关样式将项目添加到您的活动创建中。

话虽如此,如果您的列表中有很多(我知道非常模糊)项目,那么使用ListView

如果a)没有那么多项目并且b)您没有在运行时从列表中插入/删除项目(除了初始构建),我个人会使用此方法,否则您将不得不经历每个项目都在调整其风格。

于 2012-12-07T14:18:02.680 回答
0

您必须开发自己的布局和适配器,使用默认适配器,您无法选择要放置的布局。

于 2012-12-07T13:29:25.137 回答