我已经进行了一些有关以儿童价值检索Firebase儿童的研究,但没有一个答案能解决我的问题。我需要获得child值,以便能够将child中的所有数据移动到新位置。
这是我的Firebase结构。 https://i.imgur.com/7cVCIku.jpg
这是我的界面 https://i.imgur.com/pgb2k34.png
getInvFromTxt是该文本视图中的getText()。toString()
我做了什么
payCash.setOnClickListener(new View.OnClickListener() {
String getInvFromTxt = hiddenInv.getText().toString().trim();
DatabaseReference fromPath = FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.child("Temporary_CashSales");
DatabaseReference toPath = FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.child("CashSales");
DatabaseReference keyRef = fromPath.child(getInvFromTxt); //here is the problem i am facing now
String key = keyRef.getKey();
@Override
public void onClick(View v) {
removeFromFirebase(fromPath, toPath, key);
}
});
如果我将getInvFromTxt替换为(“ CS1000”),则子CS1000中的所有数据都将移至新位置。 CS1000将始终自动生成(示例CS1001,CS1002),因此在这里我不能将子代设置为(“ CS1000”),但是我需要使子代从getInvFromText中读取。
答案 0 :(得分:0)
我终于设法得到答案。代码应该是这样的,以便能够从textview中读取
payCash.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String getInvFromTxt = String.valueOf(hiddenInv.getText());
DatabaseReference fromPath = FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.child("Temporary_CashSales");
DatabaseReference toPath = FirebaseDatabase.getInstance().getReference("Users")
.child(FirebaseAuth.getInstance().getCurrentUser().getUid())
.child("CashSales");
DatabaseReference keyRef = fromPath.child(getInvFromTxt);
String key = keyRef.getKey();
removeFromFirebase(fromPath, toPath, key);
}
});