回收站以编程方式查看给定位置的 "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 中列表项的背景,您必须执行以下操作:

  1. 修改RecyclerView.ViewHolder,使其根据RecyclerView.Adapter.onBindViewHolder中传递给它的数据改变视图的背景。

  2. 修改 RecyclerView.Adapter.onBindViewHolder 以根据背景的暗度将数据传递给 RecyclerView.ViewHolder

  3. 在您的 RecyclerView.Adapter 上调用 notifyDataSetChanged() 以更新 GUI 上的 RecyclerView

            for(int i =0; i < mRecyclerView2.getAdapter().getItemCount(); i++) {
                mRecyclerView2.findViewHolderForAdapterPosition(i).itemView.setRotation(-90);
            }

想法源自: