【发布时间】:2015-07-12 04:57:51
【问题描述】:
只想检查数据是否已经存在于 ArrayList 中,但每次都得到:不存在而数据存在于 ArrayList 中,结果我在列表中得到重复记录..
DataArrayList.secondArraylist.add(new Second(actorList.get(position).getName(), actorList.get(position).getImage()));
System.out.println(DataArrayList.secondArraylist.size());
String strName = actorList.get(position).getName().toString();
Log.d("name:", strName);
for(int i=0; i<DataArrayList.secondArraylist.size(); i++)
{
if(DataArrayList.secondArraylist.get(i).getName().equals(strName)) {
System.out.println(DataArrayList.secondArraylist.get(i).getName());
Toast.makeText(context, "Exist(s)", Toast.LENGTH_SHORT);
}
else {
Toast.makeText(context, "Not Exist(s)", Toast.LENGTH_SHORT);
}
}
问题:
没有收到任何 Toast 消息,我用它来表示“数据存在”或“不存在”
最后:
如果不存在,我想将项目添加到 arraylist,否则想显示该项目已经存在的 Toast
【问题讨论】:
-
equals 方法比较对象。在这里,您将列表对象与错误的列表项进行比较。您需要遍历列表以检查特定名称是否存在。
-
条件错误。打印
DataArrayList.secondArraylist和strName的值你会发现错误。