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); } }
添加回答
舉報