【发布时间】:2014-08-15 12:44:03
【问题描述】:
我有一个列表视图。此 ListView 有一个自定义适配器。我有 2 个项目类型,即标题和产品。 listview的第一项是标题,第二项有一个gridview(另一个适配器),第三项是标题,第四项是gridview ...等。一切都适用于 ListView 适配器。但是ListView的位置是混的。我的目的是获得位置 1,3,5,7,9... 并通过 0,1,2,3,4 获得 ArrayList 类别的项目...我编写了这样的代码:
holder.catId = 0;
if (position % 2 == 1) {
holder.catId = this.mCategoryIds.get( (position - 1) / 2);
Log.d("pos", "catId: " + holder.catId);
}
当我登录时,我可以获得第一个、第二个和第三个 catId,但之后 catId 不会根据位置而变化。是否有可能找到解决方案或存在替代方案?
【问题讨论】:
-
那么,基本上你想将
1,3,5,7,9,...映射到0,1,2,3,4,...对吧? -
其实是的。之后,我将通过 0,1,2,3,4... 得到 ArrayList 项...
-
((position - 1) / 2)会这样做。不知道为什么它不适合你。您是否尝试记录该值? -
是的,我可以登录。当我看到这些值时,它可以将 12 的第一个、第二个和第三个值记录为正确的。但其他人没有记录。
标签: android listview gridview android-listview