如果已经创建了一个使用相同名称的标题,我试图删除几个不同数组的最后一项。
我检查数组是否是> 1.这样它就不会删除添加的第一个项目。或者如果只有1项。
然后检查数组是否包含最后添加的项目。我从大小中减去一个以获得最后一项。
我删除了数组中的所有最后一项。
问题是如果它包含添加的最后一个String值,它不会删除它们。
if(titleTextArrayList.size() > 1) {
if (Arrays.asList(titleTextArrayList)
.contains(titleTextArrayList
.get(titleTextArrayList.size() - 1))) {
titleTextArrayList.remove(titleTextArrayList.size() - 1);
notesArrayList.remove(titleTextArrayList.size() - 1);
ll.removeView(checkBoxArrayList.get(titleTextArrayList.size() - 1));
checkBoxArrayList.remove(titleTextArrayList.size() - 1);
}
}
答案 0 :(得分:0)
我想打击自己......我有
titleTextArrayList.remove(titleTextArrayList.size()-1)
之前其他一切基本上意味着我在删除其他所有东西之前删除了数组中的最后一个元素...所以我把它放在最后。使代码更容易阅读。
private void datacheck(String data) {
if(titleTextArrayList.size() > 1) {
for (int i = 0; i < titleTextArrayList.size()-1; i++) {
if (titleTextArrayList.get(i).equals(data))
{
Log.i("ArraySize = ",Integer.toString(titleTextArrayList.size()-1));
Log.i("I Value = ",Integer.toString(i));
notesArrayList.remove(titleTextArrayList.size()-1);
ll.removeView(checkBoxArrayList.get(titleTextArrayList.size()-1));
checkBoxArrayList.remove(titleTextArrayList.size()-1);
titleTextArrayList.remove(titleTextArrayList.size()-1);
}
}
}
}