Android RecyclerView:在RecyclerView中显示标记为收藏夹的收藏夹项目
我在保存和检索项目id时没有问题,问题是 当我通过在onBindView方法中检查项目id,尝试在recyclerview中显示保存为收藏夹的项目时,它只显示一个项目保存为收藏夹 onBindView代码如下所示:Android RecyclerView:在RecyclerView中显示标记为收藏夹的收藏夹项目,android,android-recyclerview,Android,Android Recyclerview,我在保存和检索项目id时没有问题,问题是 当我通过在onBindView方法中检查项目id,尝试在recyclerview中显示保存为收藏夹的项目时,它只显示一个项目保存为收藏夹 onBindView代码如下所示: if(searchIfInFav(modelShipment.getShipmentsKey())) { Log.d(TAG, "onBindViewHolder: checkStatus " + searchIfInFav(modelShipment.getShip
if(searchIfInFav(modelShipment.getShipmentsKey())) {
Log.d(TAG, "onBindViewHolder: checkStatus " + searchIfInFav(modelShipment.getShipmentsKey()));
shipmentsViewHolder.save_later.setTag(R.drawable.saved_for_later);
shipmentsViewHolder.save_later.setImageResource(R.drawable.saved_for_later);
}else {
shipmentsViewHolder.save_later.setTag(R.drawable.save);
shipmentsViewHolder.save_later.setImageResource(R.drawable.save);
}
private boolean searchIfInFav(String key) {
boolean match = false;
for(String mKey : similarKeys){
Log.d(TAG, "onBindViewHolder: checkStatus loop " + mKey);
if(mKey.equals(key)){
match = true;
}else {
match = false;
}
}
return match;
迭代器方法如下所示:
if(searchIfInFav(modelShipment.getShipmentsKey())) {
Log.d(TAG, "onBindViewHolder: checkStatus " + searchIfInFav(modelShipment.getShipmentsKey()));
shipmentsViewHolder.save_later.setTag(R.drawable.saved_for_later);
shipmentsViewHolder.save_later.setImageResource(R.drawable.saved_for_later);
}else {
shipmentsViewHolder.save_later.setTag(R.drawable.save);
shipmentsViewHolder.save_later.setImageResource(R.drawable.save);
}
private boolean searchIfInFav(String key) {
boolean match = false;
for(String mKey : similarKeys){
Log.d(TAG, "onBindViewHolder: checkStatus loop " + mKey);
if(mKey.equals(key)){
match = true;
}else {
match = false;
}
}
return match;
}
imageButton只为一个项目填充,尽管列表有更多ID。
如果(mKey.equals(key)){match=true;}否则{match=false;}
使匹配只取决于相似键的最后一个数据。请尝试删除否则{match=false;}
。希望有帮助@我相信它有效,非常感谢,你一定能回答,我会确认它是正确的答案。