android - 我可以在不使用 android 上的 firebase 中的事件监听器的情况下获得值(value)吗?

标签 android firebase firebase-realtime-database

我正在使用新版 Google Firebase 实时数据库制作 Android 应用程序。

当数据更改/添加/删除/移动等时,我正在使用 ValueEventListener 和 ChildEventListener 获取我的数据。

现在,我有一个问题。

我的数据是:

"user 1": {
    "name":"abc"
}

我有一个名为“getName”的按钮。

我想在单击 getName 按钮时获取用户 1 数据中“name”的值。

    getName.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            bla bla..
        }
    });

这可能吗? 我可以在不使用监听器的情况下获得值(value)吗?

我正在等待你的帮助。 谢谢。

最佳答案

是的,您可以使用 addListenerForSingleValueEvent 来做到这一点。与 ValueEventListenerChildEventListener 不同,这只会获取一次值。 所以你的代码看起来像这样,

getName.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       ref.addListenerForSingleValueEvent(new ValueEventListener() {
       @Override
       public void onDataChange(DataSnapshot snapshot) {
          // do some stuff once
       }
       @Override
       public void onCancelled(FirebaseError firebaseError) {
       }
});

关于android - 我可以在不使用 android 上的 firebase 中的事件监听器的情况下获得值(value)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37629346/

相关文章:

javascript - 如何修复错误窗口未定义

swift - 将 firebase 快照保存为变量以在其他地方使用

swift - Firebase 获取特定父项而不是所有子项 SWIFT

android - 无法打开日志设备 '/dev/log/main' : No such file or directory on my Nexus 4

android - ListView:为什么第一次没有改变背景?

android - 有谁知道 Firebase 是否可以针对查询通知适配器。

ios - 如何按值降序从 firebase 获取数据?

java - Firebase - 使用 ref B 的值从 ref A 获取值的最佳方法?

android - 应用程序在 pclose 上崩溃

java - 从 Java 中的另一个 ArrayList 获取 ArrayList 的 ArrayList