回收站以编程方式查看给定位置的 "modify" 项目
Recycler view programmatically "modify" item at given position
使用 Android 的 RecyclerView
,我想更改给定项目的背景(即使它当前不可见)。
我看到的所有教程都展示了如何使用 OnItemClickListener
访问视图,但在我的情况下,必须以编程方式完成,无需用户执行任何操作。
我只是想检索视图,并能够在其上应用 .setBackground()
或 findViewById()
等函数。
有了我要编辑的视图的位置,我该如何实现?
你可以通过RecycleView的LayoutManager获得itemView
:
mRecycleView.getLayoutManager().findViewByPosition(item_position)
更改任何 属性 支持您的 RecyclerView 的数据项,用于设置背景并调用 notifiyDataSetChanged()
。
要修改 RecyclerView
中列表项的背景,您必须执行以下操作:
修改RecyclerView.ViewHolder
,使其根据RecyclerView.Adapter.onBindViewHolder
中传递给它的数据改变视图的背景。
修改 RecyclerView.Adapter.onBindViewHolder
以根据背景的暗度将数据传递给 RecyclerView.ViewHolder
。
在您的 RecyclerView.Adapter
上调用 notifyDataSetChanged()
以更新 GUI 上的 RecyclerView
。
for(int i =0; i < mRecyclerView2.getAdapter().getItemCount(); i++) {
mRecyclerView2.findViewHolderForAdapterPosition(i).itemView.setRotation(-90);
}
想法源自:
使用 Android 的 RecyclerView
,我想更改给定项目的背景(即使它当前不可见)。
我看到的所有教程都展示了如何使用 OnItemClickListener
访问视图,但在我的情况下,必须以编程方式完成,无需用户执行任何操作。
我只是想检索视图,并能够在其上应用 .setBackground()
或 findViewById()
等函数。
有了我要编辑的视图的位置,我该如何实现?
你可以通过RecycleView的LayoutManager获得itemView
:
mRecycleView.getLayoutManager().findViewByPosition(item_position)
更改任何 属性 支持您的 RecyclerView 的数据项,用于设置背景并调用 notifiyDataSetChanged()
。
要修改 RecyclerView
中列表项的背景,您必须执行以下操作:
修改
RecyclerView.ViewHolder
,使其根据RecyclerView.Adapter.onBindViewHolder
中传递给它的数据改变视图的背景。修改
RecyclerView.Adapter.onBindViewHolder
以根据背景的暗度将数据传递给RecyclerView.ViewHolder
。在您的
RecyclerView.Adapter
上调用notifyDataSetChanged()
以更新 GUI 上的RecyclerView
。
for(int i =0; i < mRecyclerView2.getAdapter().getItemCount(); i++) {
mRecyclerView2.findViewHolderForAdapterPosition(i).itemView.setRotation(-90);
}
想法源自: