使用 android studio 和 firebase 滑动删除

问题描述

我想在我的项目中进行“滑动删除”。但是每当我滑动删除它时,它都不会在 firebase 中删除,并且会使相同的数据再次出现在应用程序中,因为 in 不会在 firebase 中删除。我该如何解决这个问题?

这是我的代码

@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder,int direction) {

    int position = viewHolder.getAdapterPosition();

    switch (direction){
        case itemtouchhelper.LEFT:
            viewApplicationDataList.remove(position);
            adapter.notifyItemRemoved(position);

            dbApplication.child("LIST OF FORM").child(String.valueOf(position)).equals(null);

            break;
    }
    if (direction == itemtouchhelper.LEFT){
        Toast.makeText(ViewApplicationActivity.this,"Deleting",Toast.LENGTH_SHORT).show();


    }
}

Firebase picture

解决方法

您需要调用“remove”函数来移除一个值。 在您的代码中,您实际做的是将另一个数据写入您的 Firebase 所以代替

dbApplication.child("LIST OF FORM").child(String.valueOf(position)).equals(null);

dbApplication.child("LIST OF FORM").child(String.valueOf(position)).removeValue();

这样你就会从你的数据库中删除那个值。

编辑

因为您没有在评论中回答我的问题,所以我将大致解释如何从 firebase 中删除值。

当您访问“表单列表”的子注释时,您必须访问正确的子节点(也就是从您的图片中获取的 firebase id),然后使用 removeValue() 函数。 意思

dbApplication.child("LIST OF FORM").child(*uniqueID*).removeValue()

*uniqueID = 当您输入该值或您使用的值时,firebase 自动生成的 ID 因此,为了让您更了解删除您在屏幕截图中发布的内容,查询需要像这样

dbApplication.child("LIST OF FORM").child("-MbVVxjqTitBwuLo5DyL").removeValue();

“-MbVVxjqTitBwuLo5DyL”是您要移除的孩子。 如果您不在代码中的任何位置访问该值,您将无法从数据库中删除该值。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...