2011-10-25 5 views
1

나는 tab-host로 샘플 애플리케이션을 개발 중이며, 그것을 달성했다. 그리고 내 문제는 무엇입니까? 나는 그것을 단계별로 설명 할 것이다.프로그래밍 방식으로 탭의 위치를 ​​설정하는 방법은 무엇입니까?

  • 위치 0,1,2,3,4가있는 탭이 5 개인 것으로 가정합니다. 네 번째 탭을 선택하면 두 번째 탭에서 바꿔야합니다.

어떻게이 문제를 극복 할 수 있습니까?

+1

http://stackoverflow.com/questions/7873522/how-to-get-the-position-of-tab-android/7873643#7873643 – Hades

답변

1

내가 당신을 이해한다면 그것은 해협 앞으로는 제대로

tabHost.setCurrentTab(index) 

>는

당신은 할 수 있습니다 편집하여 탭의

보이지 않는 와 같이 다음 위치 0에 보이지 않는 탭으로하려는 경우 그것은 다음과 같습니다. 당신이 볼 수 있도록하려는 경우 오래된 탭을 제거하고 새로 교체하려는 경우 그러나

tabWidget.getChildTabViewAt(0).setVisibility(View.VISIBLE); 

을 따를

 tabWidget = (TabWidget) findViewById(android.R.id.tabs); 
     tabWidget.getChildTabViewAt(0).setVisibility(View.GONE); 

은입니다. 그럼 난 것이 가능 모르거나하지

+0

나는 괜찮을 것이다. 그러나 나의 요구 사항은 내가 그렇다. 1,2,3으로 이름 지어진 세 개의 탭이 있는데, 서로 바꿔주고 싶습니다. –

+0

당신의 대답을 넓힐 수 있습니다 .. –

0

당신이 시도해야합니다

FrameLayout frame = tabHost.getTabContentView(); 

View view1 = frame.getChildAt(pos1); 
View view2 = frame.getChildAt(pos2); 

frame.removeViewAt(pos1); 
frame.addView(view2, pos1); 

frame.removeViewAt(pos2); 
frame.addView(view1, pos2); 

pos2 위치 나는 그것을 확인하지 않은에서 탭 pos1 위치에 탭을 전환해야하지만, 그것을 작동합니다 :)

+0

sry cause exception ... –

+0

확인할 수있을 때 도와 드리겠습니다. 이 순간에 그것은 불가능합니다. 어쨌든,이 문제를 해결할 수있는 방법에 대한 아이디어입니다. ViewGroup 문서를 참조하십시오 ... 나는 당신이 – vicentazo

+0

을 회신 해 주셔서 감사합니다. –

관련 문제