如何在儿童中检索Firebase儿童

时间:2018-12-29 02:28:28

标签: android firebase firebase-realtime-database

我已经进行了一些有关以儿童价值检索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中读取。

1 个答案:

答案 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);
        }
    });