獲得標籤的父(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