2 回答
TA贡献1817条经验 获得超14个赞
您将列表 1 中的项目 1 与列表 2 中的项目 1 进行比较。如果第二个列表是第一个列表的派生词,并且它包含例如项目 1,4 和 6,则项目 2 与项目 2 等进行比较。列表的项目 1 2 是列表 1 的第 1 项,但第 2 项是第 4 项,它们将永远不会再次匹配。您需要将列表 2 的每个项目与列表 1 的每个项目进行比较。例如
public void onBind(int position) {
super.onBind(position);
cardView.setVisibility(View.GONE);
for (int i = 0;i<mListResponseList;i++){
if (//Item from List 2 at Position 'Position' equals item on Position i of originallist){
cardView.setVisibility(View.VISIBLE);
break;
}
您基本上遍历整个列表 1 并检查是否有任何项目等于您在列表 2 中的项目,如果它们相等,则将 cardview 设置为可见,否则它会按照 onBind 的定义保持 Gone。
修改:
cardView.setVisibility(View.GONE);
for (int i = 0;i<mMyEventsList.size();i++){
if (mMyEventsList.get(i).getEventTitle().equals(repo.getTitle()) ) {
cardView.setVisibility(View.VISIBLE);
break;
}
}
TA贡献1780条经验 获得超5个赞
代码 ArrayList 结果 = new ArrayList<>(); // 循环 arrayList2 项 for (Person person2 : arrayList2) { // 循环 arrayList1 项 boolean found = false; for (Person person1 : arrayList1) { if (person2.id == person1.id) { found = true; } } if (!found) { results.add(person2.id); } }
添加回答
举报