大家早上好
当前,我有一个ArrayList,它允许我按一组项目位置进行删除,这在大多数情况下是完美的。但我想知道是否有可能删除我的东西,例如长变量。
当前在我的recyclerView适配器上设置的当前ArrayList。
private ArrayList<NoteInfoModal> mAdapter = new ArrayList (List)
在NoteInfoModal下,我们还为我的recyclerView使用了多行的getter和setter方法,例如名称,说明,列名等...
此刻,我只需使用以下代码即可删除项目
mAdapter.remove(position)
是否有一种方法可以更改此ArrayList,因此我可以例如从此arraylist中删除结果,而无需使用位置,而是使用arraylist中的一个项目,例如列名?
谢谢
答案 0 :(得分:0)
是的,但是您必须为此运行一个for-each循环。
//suppose you have col_Id;
for(NoteInfoModel noteInfoModel : mAdapter) {
if(noteInfoModel.getColId == col_Id) {
mAdapter.remove(noteInfoModel);
break;
}
}
答案 1 :(得分:0)
当然,您只需使用要从ArrayList中删除的对象,而不是使用要删除的位置:
mAdapter.remove(yourObject)
Ganesh Gudghe 还提到,必须为您的类NoteInfoModal实现hashCode()和equals()。