如何在recyclelerview中点击新的Feed时取消/取消点亮旧的Feed?

问题描述 投票:0回答:1

在我的应用程序中,有不同的音乐类别,用户可以选择一种类型,并显示该特定类型的音乐。音乐类别以水平回收视图显示。当选择一个类别时,该特定类别会突出显示。现在我希望有一个代码,当最新的Feed /类别被突出显示时,同时旧的选定的一个没有突出显示。

现在,我可以使用静态整数(比如categoryPosition)跟踪旧的选定Feed,该静态整数存储所选Feed的位置。现在我找不到一种方法,使用categoryPosition我可以跟踪旧的feed并取消它的亮度,而我在最新的feed的itemView中。

这是一个相关的小代码:

@Override
            protected void populateViewHolder(final CategoryViewHolder viewHolder, final CategoryBlog model, final int position) {

//some other code

viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {



                           //UNHIGHLIGHTING OLD FEED WITH categoryPosition  WHERE I NEED HELP.

                           categoryPosition = position; //set categoryPosition  to newly selected feed.


                        if(model.getName().equals(categorykey))
                        {
                            //highlightening part which I have done successfully
                        }



                    }
                });
android android-recyclerview android-viewholder
1个回答
1
投票

LinearLayoutManager有一个名为findviewbyposition的方法,它将为您提供与categoryPosition相关的视图,您可以使用它来取消突出显示该条目。但请记住,未被选中的视图可能不会被布局,因此返回值将为null

© www.soinside.com 2019 - 2024. All rights reserved.