我想创建一个具有交替行布局的 ListView。
Row 1 - Layout A
Row 2 - Layout B
Row 3 - Layout A etc.
是否有必要为此创建一个自定义适配器,或者默认情况下可以吗?
不,如果没有 Adapter,您将无法做到这一点,但请查看BaseAdaptergetViewTypeCount()
类getItemViewType(postion)
,因为它们会支持您。
首先让您的适配器知道您的行有多少不同的类型;在您的情况下,它们是 2(布局 A 和布局 B)。
第二种方法返回给定位置的类型。在您的情况下,它可能很简单,例如以下代码。
@Override
public int getItemViewType(int postion){
return (postion % 2);
请参阅:http ://android.amberfog.com/?p=296了解更多信息。
如果您的列表中没有那么多项目,则根本不需要使用ListView
或适配器。
对于类似的结果,您可以在 a 中使用LinearLayout
a ScrollView
。
通过这种方式,您可以LinearLayout
根据列表中的位置使用相关样式将项目添加到您的活动创建中。
话虽如此,如果您的列表中有很多(我知道非常模糊)项目,那么使用ListView
如果a)没有那么多项目并且b)您没有在运行时从列表中插入/删除项目(除了初始构建),我个人会使用此方法,否则您将不得不经历每个项目都在调整其风格。
您必须开发自己的布局和适配器,使用默认适配器,您无法选择要放置的布局。