作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不要被标题所欺骗,认为这是垃圾邮件,请读到最后。
我有一个自定义 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/
我是一名优秀的程序员,十分优秀!