如何动态地将列表项添加到recyclerView?

Posted

技术标签:

【中文标题】如何动态地将列表项添加到recyclerView?【英文标题】:How to add list items to recyclerView dynamically? 【发布时间】:2021-08-22 19:07:56 【问题描述】:

我使用 Retrofit 获取数据。我每页有 10 个结果。当我滚动到最后一个结果时,无法进一步查看 туче 结果。所以,我需要更新适配器。但没有任何结果。这是我的代码的一部分: 改造:

    private final RestClient restClient;
    private List<Data> newData;
    private DataAdapter dataAdapter;

public void fetchData() 
    Call<Data> callItems = restClient.searchData();
    callItems.enqueue(new Callback<Data>() 
        @Override
        public void onResponse(@NonNull Call<Data> call, @NonNull Response<Data> response) 
        newData = response.body().getPersons();
        personAdapter.addPersons(newData );
        

        @Override
        public void onFailure(@NonNull Call<Data> call, @NonNull Throwable t) 
        
    );

这是我在 adpter 类中添加新项目的方法:

 private List<Person> persons = new ArrayList<>();
..................

    public void addIPersons(List<Person> newPerson) 
        this.iersons= newIPeroon
        persons.addAll(newIPerson;
        notifyDataSetChanged();
    

【问题讨论】:

问题不是很清楚。你能详细说明一下吗? 【参考方案1】:

你应该使用可变列表并且不应该覆盖它。 但更好的方法是使用 listadapter

【讨论】:

【参考方案2】:

只需更新您的数据源并在您的RecyclerViewAdapter 上调用notifyDatasetChanged()

【讨论】:

【参考方案3】:

像这样添加到您的列表后:

persons.add(newIPerson);

呼叫:

dataAdapter.notifyDatasetChanged();

【讨论】:

以上是关于如何动态地将列表项添加到recyclerView?的主要内容,如果未能解决你的问题,请参考以下文章

建立在RecyclerView基础上的含编辑框动态列表项增减异常

在键盘打开时将项目添加到 RecyclerView 时向下滚动

php WordPress类可以轻松地将自定义菜单项动态添加到菜单中。

在 asp .NET MVC 中提交表单之前动态地将项目添加到列表中

C#如何动态添加菜单项是Systray应用程序

从android中的其他类动态地将对象添加到listview