我正在尝试从Firebase获取数据(教职员工姓名)。提取的数据未显示在对话框上,但显示在吐司上。
代码如下:
{
"_index": "squirrels-2018",
"_id": "zr7zejfhs7fzfud",
"_version": 1,
"_source": {
"squirrel": "Bethany",
"neighbor": "A",
"@timestamp": "2018-10-26T15:22:35.613Z",
"meal": "hazelnut",
}
}
答案 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())