Java 从适配器中刷新整个RecyclerView
我尝试从适配器类onBindViewHolder方法中刷新整个RecyclerView。 如果单击列表中的某个项目,我希望该项目的参数会发生更改。 最好的方法是什么 适配器类中的onBindViewHolder方法: RecyclerView类中的initRecyclerView方法: 找到了解决办法 不幸的是,注释中的两种解决方案都没有帮助,notifyDataSetChanged、notifyItemChangedposition方法没有重新刷新数据 也许它会在将来帮助某人: 为了刷新整个列表,我访问Activity Store中的init方法initImageBitMapsForallPlayer,并从适配器中的onBindViewHolder调用它:Java 从适配器中刷新整个RecyclerView,java,android,android-recyclerview,adapter,Java,Android,Android Recyclerview,Adapter,我尝试从适配器类onBindViewHolder方法中刷新整个RecyclerView。 如果单击列表中的某个项目,我希望该项目的参数会发生更改。 最好的方法是什么 适配器类中的onBindViewHolder方法: RecyclerView类中的initRecyclerView方法: 找到了解决办法 不幸的是,注释中的两种解决方案都没有帮助,notifyDataSetChanged、notifyItemChangedposition方法没有重新刷新数据 也许它会在将来帮助某人: 为了刷新整个列
if (context instanceof Store) {
notifyItemChanged(position);
((Store) context).initImageBitmapsForAllPlayers();
}
如果希望更改整个项目集,只需在适配器内调用notifyDataSetChanged。如果您知道哪些项目已更改,则notifyItemChanged、notifyItemInserted和notifyItemDeleted更有效。如果您希望更改整个项目集,只需在适配器内调用notifyDataSetChanged。如果您知道哪些项目已更改,则notifyItemChanged、notifyItemInserted和notifyItemDeleted更有效。要在单击列表时仅更改列表中的一个项目,请在更改其参数后,调用:
notifyItemChanged(position)
要在单击列表时仅更改列表中的一项,请在更改其参数后,调用:
notifyItemChanged(position)
如果您使用了recyclerview并希望更改整个recycler视图项,以便可以使用notifyDataSetChanged;如果您从recyclerview中删除了一些项,以便可以使用notifyItemDeleted;如果您添加了更多数据,则在添加数据后只需调用notifyItemChanged、notifyItemInserted
如果您想从“活动”中添加、删除和更新数据,以便可以使用界面如果您使用了recyclerview并希望更改整个“回收器”视图项目,以便可以使用notifyDataSetChanged,如果您从recyclerview中删除了一些项目,以便可以使用notifyItemDeleted,如果您添加了更多数据,则在添加数据后只需调用notifyItemChanged、notifyItemInserted 如果要从“活动”中添加、删除和更新数据,以便可以使用接口调用下面的方法来刷新适配器内部:
notifyDataSetChanged()
内部活动
if (recyclerView.getAdapter() != null) {
recyclerView.getAdapter().notifyDataSetChanged();
}
调用以下方法以刷新适配器内部:
notifyDataSetChanged()
内部活动
if (recyclerView.getAdapter() != null) {
recyclerView.getAdapter().notifyDataSetChanged();
}
试试这个:
RecyclerView recyclerView = findViewById(R.id.rv_store);
recyclerView.setLayoutManager(new LinearLayoutManager(LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
StoreRecyclerViewAdapter adapter = new StoreRecyclerViewAdapter(this, allPlayers, allPrices, allStatus, open, close);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
试试这个:
RecyclerView recyclerView = findViewById(R.id.rv_store);
recyclerView.setLayoutManager(new LinearLayoutManager(LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
StoreRecyclerViewAdapter adapter = new StoreRecyclerViewAdapter(this, allPlayers, allPrices, allStatus, open, close);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
两者都不起作用。没有错误消息,列表或项目未刷新。两者都不工作。没有错误消息,列表或项目未刷新。两者都不工作。没有错误消息,列表或项目未刷新。两者都不工作。没有错误消息,并且列表或项目未刷新。