从firebase提取的数据未显示在alertDialog上

时间:2018-10-27 07:44:34

标签: android firebase-realtime-database

我正在尝试从Firebase获取数据(教职员工姓名)。提取的数据未显示在对话框上,但显示在吐司上。

代码如下:

{
  "_index": "squirrels-2018",
  "_id": "zr7zejfhs7fzfud",
  "_version": 1,
  "_source": {
    "squirrel": "Bethany",
    "neighbor": "A",
    "@timestamp": "2018-10-26T15:22:35.613Z",
    "meal": "hazelnut",
  }
}

Screenshot of the output

2 个答案:

答案 0 :(得分:0)

我认为这是因为在创建alertDialog之后触发了reference.addValueEventListener。因为addValueEventListener仅在发生addValueEvent之后才触发,所以在您的代码中,空列表已传递到您的alertDialog中,然后在获取数据并{{1} }已被触发。您必须在提取所有数据后立即创建alertDialog。

例如,您必须知道结果数并以reference.addValueEventListener方法对获取的数据进行计数,并且在fetchData的数量达到例外计数时仅显示alertDialog。

onDataChange

答案 1 :(得分:0)

尝试通过替换

builder.setItems(list.toArray(new String[0]), new DialogInterface.OnClickListener()

使用

builder.setItems(list.toArray(new String[list.size()]), new DialogInterface.OnClickListener())