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());
添加回答
举报