Get All Tab ( Tabs) Labels In A List From Tabs Layout Android
I have set tab layout with view pager, As follows : sectionsPagerAdapter = new SectionsPagerAdapter(this, getSupportFragmentManager(), suraName, suraId, ayatId); final Vie
Solution 1:
So, how to get all tab labels from tabsLayout. In oncreate after setting up all adapters, viewpager and tabsLayout (you can wait for some time also) :
ArrayList<String> labelList = new ArrayList<>();
labelList = tabLabelList(tabsLayout, labelList);
if(labelList!=null)
Log.i(TAG, "onCreate: list labels"+labelList.toString());
And :
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;
}
This way one can get all text from a view which has a textView as child.
Post a Comment for "Get All Tab ( Tabs) Labels In A List From Tabs Layout Android"