프로그래밍/Java, Android

[Android] 런타임에 동적으로 탭뷰의 타이틀(제목) 변경하기

당근천국 2011. 1. 7. 11:22
안드로이드( Android )에서 런타임에 동적 탭뷰변경은 분명 될 텐데......왜이렇게 안찾아진건지 ㅡ,.ㅡ;;;;

참고 : 스택 오버플로 ( http://stackoverflow.com/questions/2291607/how-to-change-the-title-of-the-tab-dynamically )

여러분 우리는 구글신을 믿어야 합니다.
구글신은 여러분께 빠른 답변과 정확한 답변을 해줍니다.
구글신은 여러분의 옆에 있습니다!

믿습니까!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



무려 2주 동안 분노의 구글질 끝에 찾아 냈도다!!!!!!
하지만 단어 선택을 잘못했다는 좌절감에 몸들 바를 모르는 중 ㅜㅡ
(단어 선택만 잘했어도 이 뻘짓 안 했던 건데 ㅎㅎㅎ)

 
1. 탭뷰의 탭 제목 바꾸기

((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New");

ㅇㅇ
이게 끝임 ㅋ
왜 구글신을 믿어야 하는지 이해가 됐음? ㅋㅋㅋ




 
2. 간단한 부연 설명

((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New");

getChildAt(0)의 0은 바꾸려는 탭의 인덱스입니다.
findViewById(android.R.id.title)는  해당 탭의 제목 리소스를 가져오는 것입니다.
탭타이틀은 TextView형태로 있습니다.(물론 이거 잘만 변형하면 아이콘도 실시간으로 바꾸는 게 가능할듯합니다.)
setText("New")로 원하는 제목으로 바꿀 수 있습니다.

찬양하라 구글!!!



 
3. 혼자서 알아낸 내용

사실 mTabHost.getTabWidget().getChildAt(0)까지는 어찌어찌 삽질하다 보니 알아냈었습니다....
문제는 이걸 가지고 어떻게 타이틀을 변경 하느냐 였지-_-;;;
안드로이드 프로그램을 만들다 보면 은근히 android.R.id에 접근해야 할 때가 많은 것 같습니다.
문제는 이걸 어떻게 활용해야 하는지 아직도 감이 안잡혀 ㅡㅜ

역시 믿을건 구글신 뿐이 없다능.

p.s. 난 원래 구글교 신자였음 ㅎㅎ