【问题标题】:How to add list items to recyclerView dynamically?如何动态地将列表项添加到recyclerView?
【发布时间】: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();
    }

【问题讨论】:

  • 问题不是很清楚。你能详细说明一下吗?

标签: android android-recyclerview retrofit


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      persons.add(newIPerson);
      

      呼叫:

      dataAdapter.notifyDatasetChanged();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-20
        • 1970-01-01
        • 1970-01-01
        • 2017-03-27
        相关资源
        最近更新 更多