firebase android的动态选项卡数
我在firebase android的动态选项卡数,android,firebase,tabs,Android,Firebase,Tabs,我在FirebaseFirestore中存储了一组类别字符串。现在,我想使用tabLayout来显示带有选项卡的字符串列表。这意味着选项卡的数量将是动态的,将根据数据库中的内容进行设置。目前,我只知道如何使用以下代码行显示固定数量的选项卡: TabLayout tabLayout = findViewById(R.id.tabLayout); tabLayout.addTab(tabLayout.newTab().setText("Tab1")); tabLayout.addTab(tabL
FirebaseFirestore中存储了一组类别字符串。
现在,我想使用tabLayout来显示带有选项卡的字符串列表。
这意味着选项卡的数量将是动态的,将根据数据库中的内容进行设置。目前,我只知道如何使用以下代码行显示固定数量的选项卡:
TabLayout tabLayout = findViewById(R.id.tabLayout);
tabLayout.addTab(tabLayout.newTab().setText("Tab1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab3"));
那么,如何使选项卡动态化,以便根据数据库字符串列表中的内容设置文本和选项卡数量?请提供帮助。假设每个选项卡都存储在Firestore中名为
tabs
的集合中的文档中。然后,您可以创建一个选项卡,其中每个文档的ID为:
db.collection("tabs")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
tabLayout.addTab(tabLayout.newTab().setText(document.getId()));
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}
});
数据库集合(“选项卡”)
.get()
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
对于(QueryDocumentSnapshot文档:task.getResult()){
Log.d(标记,document.getId()+“=>”+document.getData());
tabLayout.addTab(tabLayout.newTab().setText(document.getId());
}
}否则{
Log.d(标记“获取文档时出错:”,task.getException());
}
}
});