我正在从 URL 中检索项目列表,并使用自定义的 ArrayAdapter 在 ListView 中显示它们。我最多显示 25 个结果,但最多从 URL 中检索 26 个,因为如果超过 25 个,我想显示“下一个”链接。我试图找出一种方法来使视图中的最后一个项目只显示下一个链接,而不是其他项目显示的图像和两个 TextView。向下滚动,所有项目都以它们应该的方式显示,但最后一个项目仍然看起来像其他项目。向上滚动时,每五个项目都是空白的(可以看出它仍然存在,因为有分隔线)。
在 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 中,next 设置为消失,因此不需要在 else 中更改。当我删除 if-else 并仅在 else 中保留代码时,列表正常运行,但我需要下一个链接。关于奇怪行为的原因有什么想法吗?如果您需要查看任何其他代码或需要澄清正在发生的事情,请告诉我。