2017-09-06 2 views
0

에서 탭의 부모 (TabLayout)를 얻을 수 기준 :어떻게이 같은 조각에 두 TabLayouts을 가지고 그들 각각 두 개의 탭을 보유하고 TabSelectedListener

@Override 
public void onTabSelected(TabLayout.Tab tab) { 
// detect which TabLayout? 
} 

및 I :

studentsTab.setOnTabSelectedListener(this); 
teachersTab.setOnTabSelectedListener(this); 

지금은이 방법을 어떤 탭이 탭 선택을 트리거했는지 파악하고 싶습니다. 그것은 학생인가요? 교사인가요? 탭인가요?

tab.getTag(). equals ("students")가 tab.getTag()가 null인지 확인하려고했습니다. 앱을 디버깅 할 때 tab.mParent에 TabLayout이 있지만 액세스 할 수 없습니다.

나는 그것을 할 방법을 찾을 수 없습니다. 학부모를 찾는 데 도움이 될만한 정보가있을 것입니다.

답변

0

TabLayout에 태그를 추가하기 전에 탭과 연결된 태그를 설정할 수 있습니다. 올바른 탭에 '학생'또는 '선생님'이라는 태그를 추가하면 onTabSelected()에서 해당 정보를 참조 할 수 있습니다.

getTag()setTag()을 특히 확인하여 문서를 확인하십시오.

+0

를 얻을 onTabSelected 방법으로,이

for(int i=0; i<studentsTab.getTabCount; i++) { TabLayout.Tab tab = studentsTab.getTabAt(i); tab.setContentDescription("Text"); } 

와 같은 각 탭 contentDescription을 설정하려고하지만 GetTag의입니다 항상 null입니다. 그래서 나는 setTag가 레이아웃을위한 것이고 getTag는 탭 자체를위한 것이라고 생각했다. – user2396640

+0

이전에는이 ​​방법을 사용했고 탭에 추가 한 관련 태그를 볼 수있었습니다. 문서에는 setTag 함수가 "이 탭에 나중에 사용하기 위해 보유 할 임의의 객체를 제공"하는 데 사용된다는 것이 명시되어 있습니다. @ user2396640 – DMP

0

내가 사실은 내가이 질문을 게시하기 전에 그것을 할 시도 contentDescription

public void onTabSelected(TabLayout.Tab tab) { 
    tab.getContentDescription(); 
} 
관련 문제