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