在我的应用程序中,有不同的音乐类别,用户可以选择一种类型,并显示该特定类型的音乐。音乐类别以水平回收视图显示。当选择一个类别时,该特定类别会突出显示。现在我希望有一个代码,当最新的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
}
}
});
LinearLayoutManager
有一个名为findviewbyposition
的方法,它将为您提供与categoryPosition
相关的视图,您可以使用它来取消突出显示该条目。但请记住,未被选中的视图可能不会被布局,因此返回值将为null
。