从 Firebase 数据库获取的数据显示在 3 个单独的警报对话框中,而不是一个

2024-03-09

我正在从中获取一些数据FirebaseDatabase然后将它们放入array然后尝试以List这是一个习惯AlertDialog.

这是代码:

query = mDatabase.child("child").child(anotherChild).child("yetAnotherChild");

uProfile.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        query.orderByChild("someChild").addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                if (dataSnapshot != null) {

                    Map<String, String> newD = (Map<String, String>) dataSnapshot.getValue();

                    ArrayList<String> l = new ArrayList<String>();
                    l.add(newD.get("lol").substring(30));

                    String names[] = l.toArray(new String[0]);

                    AlertDialog.Builder alertDialog = new AlertDialog.Builder(Activity.this);
                    LayoutInflater inflater = getLayoutInflater();
                    View convertView = inflater.inflate(R.layout.dialog_list, null);
                    alertDialog.setView(convertView);
                    alertDialog.setTitle("title");
                    ListView lv = (ListView) convertView.findViewById(R.id.lv);
                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1, names);
                    lv.setAdapter(adapter);

                    alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {

                        }
                    });

                    alertDialog.show();
                } else {
                    Toast.makeText(getBaseContext(), "NULLLLL", Toast.LENGTH_SHORT).show();
                }
            }

            ...
            ...
        });

    }
});

这是数据库结构:

app
 -child
   -anotherChild
     -yetAnotherChild
       -inaccessibleChild
         -someChild: "value"
         -lol: "value"

我不能使用valueEventListener()在这里,因为我无法访问inaccessibleChild. The inaccessibleChild这里是uid关注特定用户的其他用户。我怎样才能访问那里uid?

问题是正在获取数据,但不是一次性显示在列表中AlertDialog,它被一一显示在3分离AlertDialog.

这里出了什么问题?

请告诉我。


Firebase 事务是异步的,因此添加 3 个子项的初始行发生在您设置侦听器之后,因此您的回调被调用 3 次。 (制作 3 个对话框)。

将此行移到单击之外:

 query = mDatabase.child("child").child(anotherChild).child("yetAnotherChild");

然后,当您添加以下侦听器(在单击内)时应该没问题

query.orderByChild("someChild").addChildEventListener(new ChildEventListener() {
                    @Override
                    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Firebase 数据库获取的数据显示在 3 个单独的警报对话框中,而不是一个 的相关文章

  • 在 RESTful Web 服务中实现注销

    我正在开发一个需要注销服务的移动应用程序 登录服务是通过数据库验证来完成的 现在我陷入了注销状态 退一步 您没有提供有关如何在应用程序中执行身份验证的详细信息 并且很难猜测您在做什么 但是 需要注意的是 在 REST 应用程序中 不能有会话
  • Antlr 解析器运算符优先级

    考虑以下语法 我对运算符优先级有疑问 例如 res 2 a b有一个类似的解析树res 2 a b 我知道问题出在哪里 但我没有想到没有相互左递归的 漂亮 解决方案 你能帮我一点忙吗 该语法与自定义访问者一起使用 grammar Math
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • PrimeFaces 对话框参考父级

    我有一个 xhtml 页面 显示带有条目的数据表 我还有一个用于插入新条目的按钮 该按钮显示一个包含表单的对话框 插入表格用作
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • Amazon RDS for SQL Server 是否支持 SSIS?

    从谷歌搜索中读到一些相互矛盾的答案 不确定答案是是 否还是可能 我觉得读的时候已经很清楚了this http docs aws amazon com AmazonRDS latest UserGuide CHAP SQLServer htm
  • NSArrayController 无需将大型数据集加载到数组中

    我想使用 NSArrayController 向 NSTableView 提供数据 我面临的问题是我不想将所有数据预先加载到数组中 然后使用数组控制器setContent 方法 我的数据模型是一个管理数百万条记录的大型现有代码库 它包含有效
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • 如何在 Angular 4 中翻译 mat-paginator?

    你知道如何在 Angular 中翻译 每页项目 吗mat paginator标签 这mat paginator是材料设计中的一个元素 您可以使用MatPaginatorIntl为了这 威尔 豪厄尔制作 https github com an
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 如何修复:“无法解析类型 java.lang.CharSequence。它是从所需的 .class 文件间接引用的”消息? [复制]

    这个问题在这里已经有答案了 我正在尝试使用这个字符串 amountStr amountStr replace replace replace 但我收到一条错误消息 我知道我收到的错误消息是因为我刚刚发布的字符串已过时 所以我想知道该字符串的
  • 如何在 JFreeChart 中设置多个系列的线条粗细?

    我创建了很多图表 在他们每个人中我都需要打电话 renderer setSeriesStroke i new BasicStroke 2 0f 对于每个系列 renderer is chart getXYPlot getRenderer 我
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 不兼容的库版本:imagick.so 需要版本 18.0.0 或更高版本,但 libfreetype.6.dylib 在第 0 行的 Unknown 中提供版本 16.0.0

    我成功安装了 imagemagic 和 imagick 使用http www php net manual en imagick installation php 94169 http www php net manual en imagi
  • to_json 在 Rails 中返回字符串而不是 json

    下面的代码应该返回一个 json series series map do serie name gt serie name id gt serie id series to json 其返回结果如下 name Barra id 3 nam
  • 什么是可以检测手写的好的 OCR? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要一个库 可以在扫描手写纸后从其中提取文本 正常拉丁文本 它可以是一个免费的解决方案 甚至是我必须付费的解决方案 只要它可以处理大写字
  • READ_PRIVILEGED_PHONE_STATE 权限错误

    我创建了一个应用程序来监控呼叫 传入和传出 并且在电话响铃期间 它会显示有关号码的详细信息 来电一切正常 但是当用户拨打电话时 应用程序崩溃并出现以下错误 05 14 23 14 36 376 1427 1475 W BroadcastQu
  • F#:检测正则表达式模式中的错误

    我是编程新手 F 是我的第一个 NET 语言 作为初学者的项目 我想编写一个应用程序 要求用户输入正则表达式模式 然后标记任何错误 我已经浏览了 MSDN 上的 Regex API 但似乎没有任何方法可以自动检测正则表达式模式中的任何错误
  • 如何进行这种图像转换?

    我有一个带有模糊边缘的彩色斑点的图像 上半部分 我想为其创建一个由直线组成的轮廓 下半部分 填充形状没有问题 只需添加轮廓即可 如有必要 可以将其转换为黑白图像 谁能指出一个可以做到这一点的简单转换 程序 最好是我可以轻松找到代码示例的东西
  • 如何获取与正则表达式匹配的片段的行号?

    如何才能获得行号匹配给定的所有文本片段regexp 在一个文件内 file content f read m re compile regexp How to extract line numbers of the matched text
  • 如何使用 Django 和 UTF-8 内容类型作为模板?

    当我做 return render to response 在姜戈 如何将内容类型设置为 UTF 8 那么显示的所有内容都是 UTF 8 吗 django 使用 UTF 8 作为默认编码 但这可以通过 settings DEFAULT CH
  • Angular 2 动态双向绑定

    我正在尝试构建一个动态附加另一个组件的组件 作为一个例子 这是我的父类 import Component ComponentRef ViewChild ViewContainerRef ComponentFactoryResolver fr
  • 需要使用 Node.js 进行 SysLog 的建议

    我刚刚 npm install node syslog 但它不起作用 我有一个系统日志服务器 IP 地址和 local0 我正在寻找一个系统日志模块来帮助我将消息发布到系统日志 但我不知道我应该使用哪一个 请给我一些建议 谢谢 哦 如果有一
  • 如何防止Ktor客户端对url参数进行编码?

    我正在尝试使用 kotlin 创建一个 Android 应用程序 这个应用程序需要有一个迷你下载管理器 因为我需要下载从 100MB 到 8GB 的 文件 并且当服务器支持暂停时 用户可以稍后暂停和恢复下载 搜索我发现了Ktor 库并阅读文
  • 如何让 Unirest(java) 忽略证书错误

    我正在使用 Unirest java 版本 发出 GET 和 POST 请求 但是在访问 SSL 加密站点时遇到问题 因为我的程序位于公司网络后面 并且网络管理员为我设置了防火墙映射 例如foobar com被映射到56 1 89 12 4
  • 在php中获取远程图像的图像类型

    使用预构建的系统来抓取远程图像并将其保存到服务器上 目前 没有检查图像是否确实存在于该远程位置 并且它具有某种文件类型 jpg jpeg gif 我的任务是执行这两项操作 我认为这非常简单 因为我只需使用一个简单的正则表达式和 getima
  • 如何访问静态 Web 方法内的页面控件? [复制]

    这个问题在这里已经有答案了 我已经使用 jQuery 使用静态调用了代码隐藏方法WebMethod method 该 Web 方法调用成功 但当尝试访问文本框控件时出现错误 非静态字段 方法或属性需要对象引用 WebMethod publi
  • Django:动态构造 {% include %} 标签的值?

    我想用一个 include page html 在我的 Django 模板中标记 并构造值page html动态地 在 Django 中有什么方法可以做到这一点吗 这是一个伪代码示例 include page mode html Thank
  • 如何将 jar、源代码和 Javadoc 添加到本地 Maven 存储库?

    我想添加最新版本的 JGoodies Forms 1 5 0 作为依赖项 但我在主存储库中找不到比 1 0 5 更新的任何内容 所以如果我理解正确 我可以做的下一个最好的事情要做的就是将其添加到我的本地存储库中 当我从网站下载它时 我得到一
  • 使用 React 进行变更检测

    我正在研究更改检测机制 并且在reactjs案例中遇到了一些麻烦 当反应组件中的 props 发生变化时 该组件将被 重新渲染 由于 diff 算法的原因 这并不完全正确 但想法就在这里 我知道当某物发生这种情况时 React 会浏览其内部
  • 如何让 Rails 为 ember.js 生成正确格式的 JSON?

    在 Ember 模型指南中http emberjs com guides models the rest adapter toc relationships http emberjs com guides models the rest a
  • DialogFragment 按钮被推出屏幕 API 24 及更高版本

    我正在定制DialogFragment显示可选择的数据列表 该列表太长 无法在不滚动的情况下显示在屏幕上 对于 API 23 及以下版本 一切似乎都工作正常 但当我在 API 24 上进行测试时 DialogFragment 的按钮不再可见
  • 从 Firebase 数据库获取的数据显示在 3 个单独的警报对话框中,而不是一个

    我正在从中获取一些数据FirebaseDatabase然后将它们放入array然后尝试以List这是一个习惯AlertDialog 这是代码 query mDatabase child child child anotherChild ch