问题描述
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);
解决方法
那么,如何从 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 作为子项的视图中获取所有文本。
快乐编码..... .