【发布时间】:2021-05-09 11:10:10
【问题描述】:
recyclerView = findViewById(R.id.companyFeed_RecyclerView_CompanyList);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
ArrayList<Company> myCompanyData = new ArrayList<>();
myCompanyData.add(new Company("Company marc","trustworthy",null));
db.getFirestore().collection("companies").addSnapshotListener((value, error) -> {
assert value !=null;
for (QueryDocumentSnapshot snapshot : value) {
Company c = Deserialization.deserializeCompany(snapshot);
myCompanyData.add(new Company(c.getName(),c.getDescription(),null));
System.out.println("company: " + myCompanyData.get(1).getName());
}
});
CompanyAdapter myCompanyAdapter = new CompanyAdapter(myCompanyData, CompanyFeedActivity.this);
recyclerView.setAdapter(myCompanyAdapter);
我的 RecyclerView 仅在 snapshotListener 之前显示元素“公司标记”。我的数据库工作得很好。 System.out.println 向我展示了具有正确名称的正确元素。
有没有更好的方法来访问元素还是我做错了什么?
这就是我的数据库的样子:
Firestore-root
|
--- companies (collection)
|
--- company 1 (document)
|
--- name: Marc
|
--- description: test
|
--- company 2 (document)
|
--- name: Lucas
|
--- description: test2
【问题讨论】:
标签: android firebase google-cloud-firestore android-recyclerview