Java 如何将现有列表更改为新列表android-firebase实时数据库

Java 如何将现有列表更改为新列表android-firebase实时数据库,java,android,firebase,android-studio,firebase-realtime-database,Java,Android,Firebase,Android Studio,Firebase Realtime Database,我想将现有的“类别”列表更改为新列表 我知道我的问题在“setPriority()”中,但我没有找到正确的方法 我的数据库结构: 我的代码: private void updateData() { database = FirebaseDatabase.getInstance(); mDatabaseRef = database.getReference(); mDatabaseRef

我想将现有的“类别”列表更改为新列表

我知道我的问题在“setPriority()”中,但我没有找到正确的方法

我的数据库结构:

我的代码:

private void updateData() {
            database = FirebaseDatabase.getInstance();
            mDatabaseRef = database.getReference();


            mDatabaseRef
                    .child("users")
                    .child(Login.userId)
                    .child("categories")
                    .setValue(categories)
                    .addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {

                            if (task.isSuccessful()) {

                                //Update success
                            } else {

                                //Update fail
                            }
                        }
                    });
        }
private void updateData(){
database=FirebaseDatabase.getInstance();
mDatabaseRef=database.getReference();
mDatabaseRef
.child(“用户”)
.child(Login.userId)
.儿童(“类别”)
.setValue(类别)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//更新成功
}否则{
//更新失败
}
}
});
}

谢谢。

无需查询数据库即可更新列表。您只需调用
setValue
即可使用新列表覆盖现有列表。检查以下内容:

database = FirebaseDatabase.getInstance();
mDatabaseRef = database.getReference();

mDatabaseRef
    .child("users")
    .child(Login.userId)
    .child("categories")
    .setValue(categories)
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {

            if (task.isSuccessful()) {

                //Update success
            } else {

                //Update fail
            }
        }
    });
database=FirebaseDatabase.getInstance();
mDatabaseRef=database.getReference();
mDatabaseRef
.child(“用户”)
.child(Login.userId)
.儿童(“类别”)
.setValue(类别)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//更新成功
}否则{
//更新失败
}
}
});

您能添加您的数据库结构吗?谢谢您的回答,非常感谢。您如何准确地编写“.updateChildren(categories)”?我的意思是,你以前写过什么?用
替换
.setValue(categories)
。updateChildren(categories)
我两个都试过了,不幸的是它们都不起作用。“设置值”将删除我的列表。另外,“updateChildren”会停止我的应用程序。如果你在
类别中有数据,那么
设置值应该可以工作。避免
updateChildren
,因为这是必需的
key-value
pairLet-us。