我需要在列表視圖中的第n個元素之後放置一個分隔符,該列表視圖由mysqli遊標生成。我創建了一個試圖做的是,像這樣的自定義適配器:Android ListView - 第n個元素後的分隔符
MyAdapter extends CursorAdapter {
...
blablabla
yadayadayada
...
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final View view;
int pos = cursor.getPosition();
int beforeLast = GameData.totalPlayers-1;
if (pos == beforeLast) {
view = mInflater.inflate(R.layout.player_details_divider, parent, false);
} else {
view = mInflater.inflate(R.layout.player_details, parent, false);
}
return view;
}
}
因此,大家可以看到它應該誇大不同的視圖上的位置totalPlayers-1的元素。當數量足夠小時它工作得很好:1到6。但是當它更大時它就停止工作。
我試着調試過這個東西,我發現它呈現6個項目 - 這是多少列表元素適合在屏幕上 - 並通過循環6次遞增pos到5。然後停止。當我開始滾動列表時,它再次運行循環,將pos遞增爲6,然後停止。無論有多少元素,它都不會將pos遞增爲7(儘管所有數據都存在於列表中,因此光標必須迭代到最後)。
任何想法,爲什麼它的行爲是這樣的?這是什麼我不理解/做錯了?
很好,謝謝! – RandomWhiteTrash