从标签布局Android获取列表中的所有标签(标签)标签

时间:2021-02-10 06:20:09

标签: android tabs android-tablayout

我已经用视图分页器设置了标签布局,如下:

 sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager(), suraName, suraId, ayatId);
        final ViewPager viewPager = findViewById(R.id.view_pager);
        viewPager.setAdapter(sectionsPagerAdapter);
         tabsLayout = findViewById(R.id.tabs);
        tabsLayout.animate();

        tabsLayout.setupWithViewPager(viewPager);

现在,我想要一个列表中的所有标签标签。如何实现?

1 个答案:

答案 0 :(得分:0)

那么,如何从 tabsLayout 获取所有标签标签: 在设置完所有适配器后,在 oncreate 中,viewpager 和 tabsLayout : (你也可以等一段时间):

         ArrayList<String> labelList = new ArrayList<>();

        labelList = tabLabelList(tabsLayout, labelList);
        if(labelList!=null)
        Log.i(TAG, "onCreate: list labels"+labelList.toString());

还有:

public static ArrayList<String> tabLabelList(View view, ArrayList<String> tabLabelsList) {
        if (!(view instanceof ViewGroup)) {
            return null;
        }

        ViewGroup group = (ViewGroup)view;
        for (int i = 0; i < group.getChildCount(); i++) {
            View child = group.getChildAt(i);
            if (child instanceof TextView) {
                String s = ((TextView)child).getText().toString();
                tabLabelsList.add (s);
            } else {
                tabLabelList(child, tabLabelsList);
            }
        }
        return  tabLabelsList;
    }

通过这种方式,可以从以 textView 作为子项的视图中获取所有文本。

快乐编码..... .