Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RecyclerView:在RecyclerView中显示标记为收藏夹的收藏夹项目_Android_Android Recyclerview - Fatal编程技术网

Android RecyclerView:在RecyclerView中显示标记为收藏夹的收藏夹项目

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

我在保存和检索项目id时没有问题,问题是 当我通过在onBindView方法中检查项目id,尝试在recyclerview中显示保存为收藏夹的项目时,它只显示一个项目保存为收藏夹

onBindView代码如下所示:

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;}
。希望有帮助@我相信它有效,非常感谢,你一定能回答,我会确认它是正确的答案。