我有一个arrayList,我想知道新添加的项目是否已经在列表中。
protected void onPostExecute(Void result1) {
//TODO Auto-generated method stub
super.onPostExecute(result1);
progressBar.dismiss();
if(status == 1) {
//arrayListItemEntries.add(itemEntryAdded);
System.out.println(itemEntryAdded);
System.out.println(arrayListItemEntries.get(arrayListItemEntries.size()-1));
arrayListNewItems.add(itemEntryAdded);
adapterItem.notifyDataSetChanged();
toastMsg = "Item " + description +" is added on the list";
}
else
{
toastMsg ="Item not Found";
}
makeToast(toastMsg);
}
}
就行,
System.out.println(arrayListItemEntries.get(arrayListItemEntries.size()-1));
它输出null,为什么?当我想输出列表大小时,它是正确的。
答案 0 :(得分:1)
尝试这样的事情: -
if(arrayListItemEntries.contains(itemEntryAdded))
// do nothing - already there in list
else
arrayListItemEntries.add(itemEntryAdded);
答案 1 :(得分:0)
只需使用contains(item)
方法。
答案 2 :(得分:0)
你的清单大小是多少?你在哪里添加项目到这个列表?
通常我们使用.contains(Object)
方法来检查特定对象的存在。
您也可以尝试使用不允许重复的Set
,因此您无需检查。