Firebase无法识别用于设置值的字符串键

问题描述 投票:0回答:1

我已经加载了FireViewDatabse项(用户)的ListView活动。单击ListView的项目后,它将相关用户的项目键(FirebaseDatabase Hash)传递给另一个Activity,在该Activity中有一个确认按钮。单击确认按钮后,它应该在用户项目键指定的FirebaseDatabase的项目字段中设置一个确认值(“已接受”)。

问题是,事实并非如此。我的意思是,如果我使用CURRENT userId哈希,它将在FirebaseDatabase的userId字段中完美地设置“ Accepted”,但是如果我使用另一个item-user的Key,则不会这样做。谁能告诉我为什么?

这是单击确认按钮的确认活动的一部分:

 riderKey = intentGet.getStringExtra("riderKey");

        Log.i("KeySetRider", riderKey);
        Log.i("KeySetUser", MainActivity.userId);

        FirebaseDatabase.getInstance().getReference().child("users").child(String.valueOf(riderKey )).child("Request").setValue("Accepted");
       FirebaseDatabase.getInstance().getReference().child("users").child(String.valueOf(MainActivity.userId )).child("Request").setValue("Accepted");

这是我在确认活动中获得的钥匙:

2020-02-02 22:15:58.268 10620-10620/com.example.uberapp I/KeySetRider: XhNENH3g68SsrtPhmdFmY 
2020-02-02 22:15:58.268 10620-10620/com.example.uberapp I/KeySetUser: klaunWpq4ASLfiduCoU2d 

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9XMndsNi5wbmcifQ==” alt =“![在此处输入图像描述”>] 1

“![在此处输入图像描述] 2

java android firebase-realtime-database
1个回答
0
投票

对不起,我无法对此问题发表评论,尽管我没有真正发布解决方案,但我必须在这里写评论。

我注意到您从logcat输出中复制的键与屏幕截图中显示的键不完全相同。他们似乎被截断了。知道为什么吗?如果您在代码中尝试使用适当的常量而不是变量,是否可行?您如何接收/处理这些ID可能是个问题。

另一种假设可能是用户权限在数据库中设置不正确,因此仅允许用户编辑其记录。不确定您的应用程序是否可行,因为您仅发布这两个记录,而我们不知道它们的存储位置以及具有的数据库配置。

© www.soinside.com 2019 - 2024. All rights reserved.