相关疑难解决方法(0)

如何更新RecyclerView适配器数据?

试图找出更新RecyclerView适配器的问题.

在我获得新的产品列表后,我尝试:

  1. 更新创建ArrayList的片段recyclerView,将新数据设置为适配器,然后调用adapter.notifyDataSetChanged(); 那没起效.

  2. 像其他人一样创建一个新的适配器,它适用于他们,但对我没有任何改变: recyclerView.setAdapter(new RecyclerViewAdapter(newArrayList))

  3. 创建一个Adapter更新数据的方法,如下所示:

    public void updateData(ArrayList<ViewModel> viewModels) {
       items.clear();
       items.addAll(viewModels);
       notifyDataSetChanged();
    }
    
    Run Code Online (Sandbox Code Playgroud)

    然后每当我想更新数据列表时,我都会调用此方法; 那没起效.

  4. 要检查我是否可以以任何方式修改recyclerView,并且我尝试删除至少一个项目:

     public void removeItem(int position) {
        items.remove(position);
        notifyItemRemoved(position);
    }
    
    Run Code Online (Sandbox Code Playgroud)

    一切都保持原样.

这是我的适配器:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> implements View.OnClickListener {

    private ArrayList<ViewModel> items;
    private OnItemClickListener onItemClickListener;

    public RecyclerViewAdapter(ArrayList<ViewModel> items) {
        this.items = items;
    }


    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

238
推荐指数
9
解决办法
38万
查看次数

标签 统计

android ×1

android-recyclerview ×1