Recycler视图以编程方式“修改”给定位置的项目

时间:2016-04-24 16:53:27

标签: android android-recyclerview adapter

使用Android的RecyclerView,我想更改给定项目的背景(即使它当前不可见)。

我看到的所有教程都展示了如何使用OnItemClickListener访问视图,但在我的情况下,必须以编程方式完成,而无需用户执行任何操作。 我只想检索视图,并能够在其上应用.setBackground()findViewById()等功能。

如何实现这一点,拥有我想要编辑的视图的位置?

4 个答案:

答案 0 :(得分:2)

您可以使用RecycleView的LayoutManager获取itemView

mRecycleView.getLayoutManager().findViewByPosition(item_position)

答案 1 :(得分:2)

更改支持RecyclerView的数据项的任何属性,用于设置背景并调用notifiyDataSetChanged()

答案 2 :(得分:2)

要修改RecyclerView中列表项的背景,您必须执行以下操作:

  1. 修改RecyclerView.ViewHolder,以便根据RecyclerView.Adapter.onBindViewHolder中传递给它的数据更改视图的背景。

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

  3. notifyDataSetChanged()上致电RecyclerView.Adapter以更新GUI上的RecyclerView

答案 3 :(得分:0)

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

想法源自:https://stackoverflow.com/a/41199130/1815624