如何在android中将项目添加到recyclerView

在我的应用程序中,我想从服务器添加一些列表到我的recyclerView.

我的列表项大小有 10 个,但我想将最后 7 个项添加到此 RecyclerView。我不想第3项添加到该recyclerView


我写下面的代码:


        Call<ListCartResponse> call = apIs.getListCardResponse(jwtToken);

        call.enqueue(new Callback<ListCartResponse>() {

            @Override

            public void onResponse(Call<ListCartResponse> call, Response<ListCartResponse> response) {

                if (response.body() != null) {


                                if (response.body().getRes().getCarts() != null) {

                                    if (response.body().getRes().getCarts().size() > 0) {

                                        model.clear();

                                        model.addAll(response.body().getRes().getCarts());

                                        adapter.notifyDataSetChanged();


            }


            @Override

            public void onFailure(Call<ListCartResponse> call, Throwable t) {

            }

        });

但是在我上面的代码中,将所有 10 个项目添加到recyclerView.

我只想添加最后 7 个项目并删除 3 个第一个项目。


我的回收器现在查看项目:1 2 3 4 5 6 7 8 9 10 但我想要:4 5 6 7 8 9 10


我怎么能


慕婉清6462132
浏览 178回答 3
3回答

江户川乱折腾

您可以使用接口subList()方法List:对于您的示例:model.clear(); model.addAll(response.body().getRes().getCarts().subList(3,&nbsp;9));注意:请注意,如果您的服务器列表少于 10 个项目并且您仍然需要最后 7 个项目,那么您应该动态传递索引(上述解决方案将在该实例中崩溃)参考subList(int fromIndex, int toIndex)返回此列表中指定的fromIndex、包含的和toIndex不包含的部分之间的视图&nbsp;。(如果fromIndex和&nbsp;toIndex相等,则返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改会反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可选列表操作。此方法消除了对显式范围操作(数组通常存在的排序)的需要。通过传递子列表视图而不是整个列表,任何需要列表的操作都可以用作范围操作。例如,以下习语从列表中删除一系列元素:list.subList(from,&nbsp;to).clear();可以为indexOfand构造类似的习语lastIndexOf,并且类中的所有算法Collections都可以应用于子列表。如果支持列表(即,此列表)以除通过返回列表以外的任何方式在结构上进行了修改,则此方法返回的列表的语义将变为未定义。(结构修改是那些改变这个列表的大小,或者以其他方式扰乱它,以至于正在进行的迭代可能会产生不正确的结果。)参数:fromIndex&nbsp;- 子列表的低端点(包括)toIndex&nbsp;- subList 的高端(独占)返回:此列表中指定范围的视图

繁华开满天机

我认为这是因为model响应部分未model在您的适配器类中引用。将此添加到您的SupportListAdapter课程中,在收到响应时使用它:public void replaceModelList(List<Res> newModel){&nbsp; &nbsp; &nbsp;model.clear();&nbsp; &nbsp; &nbsp;model.addAll(newModel);&nbsp; &nbsp; &nbsp;notifyDataSetChanged();}收到结果时:if (response.body().getRes().getCarts() != null) {&nbsp; &nbsp; &nbsp;if (response.body().getRes().getCarts().size() > 0)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; adapter.replaceModelList(response.body().getRes().getCarts());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java