gpt4 book ai didi

java - 如何从 ArrayAdapter 中删除没有该对象引用但有另一个一致对象的对象?

转载 作者:行者123 更新时间:2023-12-01 21:08:27 25 4
gpt4 key购买 nike

不要被标题所欺骗,认为这是垃圾邮件,请读到最后。

我有一个自定义 ArrayAdapter,其中包含 News 类型的元素。

我使用在线源 Firebase 填充该适配器。

在 Firebase 中,有一个名为 onChildRemoved 的监听器,用于检测数据库子级是否已被删除。 (对于那些不知道的人)

这是代码:

        @Override
public void onChildRemoved(DataSnapshot dataSnapshot) {

// this way you obtain the item removed
News news = dataSnapshot.getValue(News.class);

// here it doesn't remove the item
myAdapter.remove(news);
}

我知道它不会删除该项目,因为我的 news 对象没有引用适配器中的对象。

那么问题来了。

如何删除一个没有引用但有另一个全等对象的对象?!

更具体地说:

如何从 ArrayAdapter 中删除我的 news 对象?!

最佳答案

为此,您应该在新闻对象上实现 equals 方法。该方法将比较该新闻的内部值(value)。例如,如果您有新闻的 id 字段,您可以执行以下操作:

public class News {

String id;

@Override
public boolean equals(Object o) {
if(o instanceof News){
News other = (News) o;
return this.id.equals(other.id);
}else{
return false;
}
}
}

关于java - 如何从 ArrayAdapter 中删除没有该对象引用但有另一个一致对象的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41792477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com