- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 Firestore
的 Firebase-UI
RecyclerView 中删除项目的正确方法是什么?
这是我的方法:
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0,
ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
deleteItem(viewHolder.getAdapterPosition());
}
}).attachToRecyclerView(recyclerView);
private void deleteItem(int position) {
DocumentSnapshot ds = (DocumentSnapshot) adapter.getSnapshots().getSnapshot(position);
DocumentReference document = ds.getReference();
document.delete();
}
为什么 getSnapshot
返回 Object
而不是 DocumentSnapshot
?转换为 (DocumentSnapshot)
是否正确?
另外,我不必调用 notifyDataSetChanged
或 notifyItemRemoved
因为适配器已经对数据库中的更改使用react,这是否正确?
最佳答案
根据您的评论,如果您想从数据库中删除项目,那么您应该直接在 DocumentReference
对象上使用 delete()
方法。
db.collection("YourCollection").document("DocumentToDelete")
.delete()
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully deleted!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error deleting document", e);
}
});
因为您使用的是 Firebase-UI,所以会自动看到此更改,而无需使用此方法调用:
notifyDataSetChanged();
另请注意,删除文档不会删除其子集合(如果您有子集合)。
关于java - FirebaseUI FirestoreRecyclerAdapter - 获取 DocumentReference 将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51281266/
我正在更新我的应用程序以使用 Firebase 的 Firestore 数据库。我正在努力让应用程序显示从数据库中检索到的数据。数据检索正常,但未显示。通过设置断点,我已经确定 ViewHolder
我正在关注 this tutorial ,据此,当我启动我的应用程序时,我应该能够看到已添加到 Firestore 的项目(文档)。但这正在发生 onCreateViewHolder仅当我点击 tex
我想知道如何才能发现 FirestoreRecyclerAdapter 仅是空的。通过下面的代码,我可以发现它是否有一个或多个实例,但它不会准确地告诉我它什么时候里面没有对象。验证 if(adapte
FirebaseUI-Android 在使用 FirebaseRecyclerAdapter 时提供索引查询。这在访问 Firebase Realtime DB 数据时效果很好,如下所述:https:
我正在开发一个 Android 应用程序,我需要对我的 Firestore 数据库进行复杂的查询并创建一个 FirestoreRecyclerAdapter。要创建适配器,我需要一个接受输入整个查询的
我有一个如下所示的查询: Query first = ref.orderBy("name", Query.Direction.ASCENDING).limit(10); 这就是我将数据显示到我的 Re
我的应用程序中有一个 FloatingSearchView,用于对我的 Firestore 数据库执行一些查询。当我检查每个查询的大小时,结果符合预期,但我的 View 没有随结果更新。我不明白这是查
我可以查询 Firestore 并手动获取 ID,但我使用的是 FirestoreRecyclerAdapter,因为它附带了大量开箱即用的额外工作。所以,如果我有这样的代码: FirebaseFir
从 Firestore 的 Firebase-UI RecyclerView 中删除项目的正确方法是什么? 这是我的方法: new ItemTouchHelper(new ItemTouchHelpe
使用新的 firestore 如何从适配器获取 key (文档 ID)? 使用 Firebase 数据库,我们可以使用 String key = this.getRef(position).getKe
我正在尝试 FirestoreRecyclerAdapter,并且数据正在加载并且可以在调试器中正常看到。但是,当我尝试将 TextView 设置为等于某些数据时,它会崩溃,因为 TextView 为
我正在使用 RecyclerView 来显示来自 Firestore 数据库的一些数据。出于显而易见的原因,我将 FirestoreRecyclerAdapter 用作适配器。我在我的 Recycle
我有两个问题: Query firstQuery = ref.orderBy("name", Query.Direction.ASCENDING).limit(10); getData(firstQu
我的 android 项目有两个模型 - Track 和 Artist。 Track用于获取Track相关信息,Artist用于获取Artist相关详情。 以下是每个模型的示例代码: Track.cl
这个问题在这里已经有了答案: How to paginate Firestore with Android? (3 个答案) 关闭 3 年前。 我已经在 https://firebase.googl
我正在使用 Firestore 来存储“图表”集合。我需要查询集合以获取所有具有登录用户 ID 的图表。我有一个显示适当图表的 FirebaseRecyclerAdapter(查询通过 Firesto
我想在列表中显示服务器时间戳(实际上是日期)。 FirestoreRecyclerAdapter 由此类提供(仅保留与时间戳相关的方法): public class Lista { priva
在我的 Android 应用程序中,我使用 firebase-UI 中的 FirestoreRecyclerAdapter它绑定(bind)Query和Model。当应用程序离线时,我需要它不显示任何
firestore 回收器适配器 没有获取任何数据,我发现了上述错误。我搜索过,但没有人给出明确的答案。 我使用 EditText 和图像按钮进行搜索。 我正在使用身份验证,因此我不会这样做,这是否会
我是一名优秀的程序员,十分优秀!