gpt4 book ai didi

android - Firebase 覆盖

转载 作者:行者123 更新时间:2023-11-30 00:29:00 24 4
gpt4 key购买 nike

这是我的代码。

    set.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

auth = FirebaseAuth.getInstance();
final FirebaseUser user = auth.getCurrentUser();
String emails = user.getEmail().toString().trim();
String titless = mtitle.getText().toString().trim();
String pricess = mprice.getText().toString();
String timess = mtime.getText().toString();
String productss = mproduct.getText().toString();
String detailss = mdetail.getText().toString();
String categorys = mspinner.getSelectedItem().toString().trim();

final ContactsInfo contact = new ContactsInfo(emails,titless,pricess,timess,productss,detailss,categorys);
mRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

i = (int) dataSnapshot.child("商品").getChildrenCount();


}

@Override
public void onCancelled(DatabaseError error) {

}
});

mRef.child("商品").child(String.valueOf(i)).setValue(contact);

}
});
}}

当我使用这段代码写入我的firebase时,它会覆盖number0的数据,之后它会正常工作,我想知道如果我不想让它覆盖我以前的数据应该怎么做。

最佳答案

onDataChange 函数代码的执行时间比setValue 晚。 onDataChange 函数被异步调用。试试下面的代码 -

set.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

auth = FirebaseAuth.getInstance();
final FirebaseUser user = auth.getCurrentUser();
String emails = user.getEmail().toString().trim();
String titless = mtitle.getText().toString().trim();
String pricess = mprice.getText().toString();
String timess = mtime.getText().toString();
String productss = mproduct.getText().toString();
String detailss = mdetail.getText().toString();
String categorys = mspinner.getSelectedItem().toString().trim();

final ContactsInfo contact = new ContactsInfo(emails, titless, pricess, timess, productss, detailss, categorys);
mRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

i = (int) dataSnapshot.child("商品").getChildrenCount();
mRef.child("商品").child(String.valueOf(i)).setValue(contact);

}

@Override
public void onCancelled(DatabaseError error) {

}
});
}
});

关于android - Firebase 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44818607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com