早上好,
我正在尝试从firestore获取数据并将其添加到我的listview中。不幸的是,它不工作,我不知道为什么。代码会运行,但不会向我的listview添加任何条目。我的代码如下所示:
public void createListViewcontent() {
listView = findViewById(R.id.mylistview);
final ArrayList<String> Listviewcontent= new ArrayList<String>();
db.collection("ok")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Listviewcontent.add(document.getId());
Toast.makeText(kk.this, document.getId() + " => " + document.getData(), Toast.LENGTH_SHORT).show();
Toast.makeText(kk.this, "weird", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(kk.this, "failure", Toast.LENGTH_SHORT).show();
}
}
});
ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,Listviewcontent);
listView.setAdapter(arrayAdapter);
有人有主意吗?
致以最诚挚的问候
1条答案
按热度按时间w6lpcovy1#
您正在从数据库中获取结果,您正在将它们添加到列表中,但不通知适配器。这就是全部的想法,你得到的项目,并通知适配器之后。因此,我们只需添加以下代码行:
在for循环结束之后:
你可以在下面的帖子中看到我的答案中的一个工作示例:
什么遗漏,与连接firestore和listview的随机结果在样本?