gpt4 book ai didi

android - 迭代 RecyclerView 中的所有项目

转载 作者:行者123 更新时间:2023-12-03 18:41:02 25 4
gpt4 key购买 nike

我有一个 CardViews 的 RecyclerView。我试图让它在您单击其中一个 CardView 的地方,它会更改该 CardView 的背景。这部分有效。我被卡住的地方是试图将所有其他 CardViews 改回白色,这样看起来就不会选择多个。

我觉得最好的方法是 for 循环,但我似乎无法找到 for 循环应该是什么。我还尝试使用 notifyDataSetChanged() 重置所有 CardViews但这也不起作用。

这是我的onItemClicked()功能(正常工作):

mAdapter = new TransferCard(list, getContext(), new TransferCard.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
//What code goes here to change all Views in the RecyclerView to have a background of white
RelativeLayout temp = v.findViewById(R.id.cardForeground);
item = list.get(position);
temp.setBackgroundColor(getResources().getColor(R.color.selected));
}
});

这是我的 onCreateViewHolder() setOnTouchListener()事件是。
@Override
public MyViewHolder onCreateViewHolder(final ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.transfer_card, parent, false);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onItemClick(v, parent.indexOfChild(v));
}
});
return new MyViewHolder(itemView);
}

似乎我就在那里,但我需要知道如何处理 for 循环。

最佳答案

for (int x = recyclerView.getChildCount(), i = 0; i < x; ++i) {
ViewHolder holder = recyclerView.getChildViewHolder(recyclerView.getChildAt(i));
}

关于android - 迭代 RecyclerView 中的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com