我正在從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