我正在从URL中检索项目列表,并使用自定义ArrayAdapter在ListView中显示它们。我最多显示25个结果,但是从URL中检索最多26个,因为如果超过25个,我想显示“下一个”链接。我试图找出一种方法让视图中的最后一项显示下一个链接,而不是图像和其他项目显示的两个TextView。向下滚动,所有项目都显示出应有的样子,但最后一个项目继续看起来像其他项目。当向后滚动时,每五个项目都是空白的(由于分隔线可以说它仍然存在)。如何为ArrayAdapter的最后一项创建不同的视图?
内getView:
if (position + 1 == limit) { // Limit = 26, corresponding position is 25
Log.e("Last Item", String.valueOf(position));
// Gone
image.setVisibility(8);
text.setVisibility(8);
// Visible
next.setVisibility(0);
} else {
if (item != null) {
Log.e("Other item", String.valueOf(position));
if (top_text != null) {
top_text.setText(item.getItemTitle(), BufferType.SPANNABLE);
}
if(bottom_text != null){
bottom_text.setText(item.getItemDescription());
}
}
}
return view;
在DDMS,它打印只为最后一个项目的“前个产品”的标签,而对于其余的“其他项目”的标签,但项目是不是根据if-else改变。在XML中,接下来设置为不存在,所以在else中不需要改变。当我删除if-else并且只留下else内的代码时,该列表正常工作,但我需要下一个链接。对奇怪行为的原因有什么想法?如果您需要查看任何附加代码或需要澄清所发生的事情,请告诉我。
视图是convertView。我从来没有想过只是使用不同的布局,但它做到了。谢谢! – Cameron 2011-02-07 20:10:19