【发布时间】:2014-04-24 01:57:32
【问题描述】:
我有一个由 ArrayAdapter 填充的 ListView:
someListView.setAdapter(adapter);
适配器中的每个元素都使用相同的 layout.xml 进行膨胀。现在我想在 ListView 的开头添加一个不同类型的元素(使用不同的布局文件膨胀)。
我想要实现的是,在列表视图中的所有其他元素之上有一个特殊元素,但也随着列表滚动(如果用户向下滚动,则从顶部退出屏幕)。
我尝试将新元素添加到数组中,但它是不同的类型,因此无法正常工作。
我试图在数组的位置 0 处插入一个虚拟元素,并修改适配器的 getView() 以便 if (position == 0) return myUniqueView,但这以某种方式搞砸了整个列表视图:项目不显示,东西到处乱跳地点,元素之间的巨大差距等。
我开始认为实现我想要的最佳实践不是通过编辑数组适配器。但我不知道如何正确地做到这一点。
【问题讨论】:
-
在返回位置之前再次为位置 0 充气。或发布你完整的适配器代码来编写soln 4 u。