获得标签的父(TabLayout)我有相同的片段2个TabLayouts和他们每个人拥有两个标签:如何从TabSelectedListener
TabLayout studentsTab = view.findViewById(R.id.students_tab);
studentsTab.addTab(studentsTab.newTab().setText("one"));
studentsTab.addTab(studentsTab.newTab().setText("two"));
studentsTab.setTag("students");
TabLayout teachersTab = view.findViewById(R.id.teachers_tab);
teachersTab.addTab(teachersTab.newTab().setText("one"));
teachersTab.addTab(teachersTab.newTab().setText("two"));
teachersTab.setTag("teachers");
,而不是创建两个setOnTabSelectedListener听众我实现TabLayout.OnTabSelectedListener和由:
studentsTab.setOnTabSelectedListener(this);
teachersTab.setOnTabSelectedListener(this);
,现在我有这样的方法:
@Override
public void onTabSelected(TabLayout.Tab tab) {
// detect which TabLayout?
}
和我想要确定哪个选项卡触发了选项卡选择。是学生表演还是教师表演?
我试图检查是否tab.getTag()。等于(“学生”),但tab.getTag()为空。 当我调试应用程序时,我在tab.mParent上有TabLayout,但它不可访问。
我找不到办法做到这一点。任何帮助找到父母将不胜感激。
我真的试图做到这一点之前,我张贴的问题,但getTag是始终为空。所以我觉得setTag是用于布局的,getTag是用于标签本身的。 – user2396640
很确定我以前使用过这种方法,并能看到我添加到选项卡的相关标签。该文档还明确指出,setTag函数用于“为此选项卡提供任意对象以供以后使用”。 @ user2396640 – DMP