1

두 탭보기가있는 tabwidget을 사용하는 앱을 개발 중입니다. 응용 프로그램이 화면에 표시되면 첫 번째 탭에서 일부 데이터를 데이터베이스에서 가져 오는 listview에 표시해야합니다. 기본적으로 listview에서 데이터가 비어있는 경우 두 번째 탭이 표시되어야합니다. 목록이 비어 있으면 활동이 시작될 때 다른 탭을 시작하고 싶습니다. 목록이 비어 있지 않으면 현재 탭을 볼 수 있어야합니다 .. 아래 이미지는 내 질문에 대한 좀 더 자세한 정보를 제공합니다. 여기서 응용 프로그램은 처음의 사용자에게 표시되며, 상기 이미지에 따라 안드로이드의 탭뷰 ..?

Second Tab

First Tab with list view empty

데이터가 비어있을 것이다. 그래서 AddGroup Tab을 표시하여 그룹을 추가하려고합니다. 방법이 TabHost 객체가 의존에

+0

원하는 것을 분명히하려는 경우 : 목록이 비어 있는지 여부에 따라 다른 탭에서 시작하고 싶지 않거나 활동이 시작될 때 (다시 시작) 시작하지 않으시겠습니까? – skyrift

+0

목록이 비어있는 경우 활동이 시작될 때 다른 탭을 시작하고 싶습니다. 목록이 비어 있지 않으면 현재 탭을 볼 수 있어야합니다 .. –

답변

3

현재 볼 탭을 설정하면 얼마나

myTabHost.setCurrentTab(tabPos); 

수행 할 수 있습니다 ... 집중 목록 그룹 탭에서 비어있는 경우 그룹 탭을 추가하는 것이 가능하다 목록을 초기화하는 위치 : 상위 액티비티 (TabActivity를 확장)에서 완료되면

getTabHost(). setCurrentTab (tabPos);

다른 활동 (즉, 탭이 활동 일 때) 또는 구현보기 (ListView 내부)에서 TabHost에 액세스해야하는 경우, 상위 Activity에 클래스가 호출 할 수있는 메소드를 추가하고, 또는 그것에 대한 참조가있는 객체. 당신이에서를 전환하려는 위치에 따라 액세스 폼

((MyParentTabActivity) MyChildTabActivity.this.getParent()).switchTab(1); 

의 것을 사용 후 부모 활동이

public void switchTab(int tabPos){ 
    getTabHost().setCurrentTab(tabPos); 
} 

을 넣고.

+0

실제로 Tab 활동을 확장하는 Group.java에서 Tabview를 초기화하고 위의 그림에 따라 그룹 탭은 하나의 활동이고 그룹 추가 탭은 다른 활동입니다. 여기 그룹 탭에서 목록을 초기화하고 있습니다. 그래서 코드에 따라 다음 활동에 다음 코드를 추가해야합니다. –

+0

이 코드가 사용되는 상황입니다 - group.java에 switchTab 메서드를 추가하고 아래 줄을 사용하여 액세스하십시오. MyParentTabActivity를 Group으로 바꾸고 MyChildTabActivity를 GroupsTab로 바꾸기 – skyrift