java - 如何让回收站视图不再显示相同的数据?(火力基地)(AndroidStudio)
问题描述
我的应用程序从 firebase 数据库中检索数据,将数据保存在数组列表中,并将其显示在回收站视图中。一切正常,除了当我添加一个新项目时,整个列表再次显示在回收站视图中。因此,假设在启动应用程序之前,数据库中已经有 3 个项目,现在我在打开应用程序的同时将另一个项目添加到数据库中,回收器视图显示 7 个项目(三个旧项目两次,加上新项目) .
如何防止显示的项目不止一个?
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (final DataSnapshot dataSnapshot1 : dataSnapshot.getChildren())
{
ItemCard n = dataSnapshot1.getValue(ItemCard.class);
list.add(n);
}
adapter = new MyAdapter(MainActivity.this, list);
adapter.notifyDataSetChanged();
recyclerView.setAdapter(adapter);
}
});
解决方案
在添加新项目之前清空列表
推荐阅读
- vb.net - 如何从我的表单上的按钮单击另一个程序上的按钮?
- javascript - 量角器:如果一个场景失败,如何解决承诺并停止跳过场景
- vue.js - 来自祖父母的组件,来自父母的数据,在孩子中呈现
- c# - .NET Core 和 .NET Framework 之间的 CultureInfo 不同
- r - 在 R 中找到一个截止值
- java - 如何禁用 Spring 执行器的内容协商?
- android - Android更改默认权限保护级别
- c# - 并行运行计算繁重任务而不等待 C# 中的结果
- python-3.x - Python unittest 未从指定目录运行
- dns - 具有自定义域的 G-Suite 电子邮件也用于在 Digital Ocean 托管。如何?