3 回答

TA貢獻1851條經驗 獲得超5個贊
您可以使用接口subList()
方法List
:
對于您的示例:
model.clear(); model.addAll(response.body().getRes().getCarts().subList(3, 9));
注意:請注意,如果您的服務器列表少于 10 個項目并且您仍然需要最后 7 個項目,那么您應該動態傳遞索引(上述解決方案將在該實例中崩潰)
subList(int fromIndex, int toIndex)
返回此列表中指定的
fromIndex
、包含的和toIndex
不包含的部分之間的視圖 。(如果fromIndex
和toIndex
相等,則返回的列表為空。)返回的列表由此列表支持,因此返回列表中的非結構性更改會反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可選列表操作。此方法消除了對顯式范圍操作(數組通常存在的排序)的需要。通過傳遞子列表視圖而不是整個列表,任何需要列表的操作都可以用作范圍操作。例如,以下習語從列表中刪除一系列元素:
list.subList(from, to).clear();可以為
indexOf
and構造類似的習語lastIndexOf
,并且類中的所有算法Collections
都可以應用于子列表。如果支持列表(即,此列表)以除通過返回列表以外的任何方式在結構上進行了修改,則此方法返回的列表的語義將變為未定義。(結構修改是那些改變這個列表的大小,或者以其他方式擾亂它,以至于正在進行的迭代可能會產生不正確的結果。)
參數:
fromIndex - 子列表的低端點(包括)
toIndex - subList 的高端(獨占)
返回:
此列表中指定范圍的視圖

TA貢獻1816條經驗 獲得超4個贊
我認為這是因為model響應部分未model在您的適配器類中引用。將此添加到您的SupportListAdapter課程中,在收到響應時使用它:
public void replaceModelList(List<Res> newModel){
model.clear();
model.addAll(newModel);
notifyDataSetChanged();
}
收到結果時:
if (response.body().getRes().getCarts() != null) {
if (response.body().getRes().getCarts().size() > 0)
adapter.replaceModelList(response.body().getRes().getCarts());
添加回答
舉報