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()); } } });