안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요~ 입문한지 얼마 안된 터라 어려운 과정이 좀 있어 이렇게 질문을 드려봅니다^^;;
예를들어서 탭이 두개가 있는데, 한탭은 tab1이고 다른 탭은 tab2 라고 칩시다..
처음 어플이 실행되면 tab1이 클릭되어 있고, 그내용만이 떠야하는데,
tab2의 내용까지 같이 View에 뜹니다.
반대로, tab2를 클릭했을때는 tab1의 내용도 같이 나오네요...
해결을 못하겠어서 이렇게 질문 올립니다^^
해결법 좀 부탁드립니다~
mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("tab_test1")
.setIndicator("tab1")
.setContent(R.id.tab1));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2")
.setIndicator("tab2")
.setContent(R.id.tab2));
mTabHost.setCurrentTab(0);
이렇게 하는게 아닌가요?
그리고, R.id.tab 이거는 레이아웃으로 줬고요..
--실행 화면--
(Tab1은 Hello World, MainActivity가 설정된 레이아웃이고, Tab2는 DatePicker가 설정된 레이아웃입니다...)
왜이렇게 겹쳐서 나오는지 ...
아아, 너무 어렵네요ㅜㅜ 고수분들 한수 좀 가르쳐주세요~~부탁드리겠습니다^^
2011.01.14 00:28:51
tabhost방식이 framelayout을 적용해서 발생하는 문제 아닐까요? 저또한 똑같은 상황에 처해 고민했었거든요. 제 경우, 제가 사용한 tabhost방식을 살피면 하위 엘리먼트가 framelayout이던데, framelayout의 속성상, 위와 같은 결과가 나타나는게 당연한지라 why framelayou의 background default value가 아마 투명도 100%. 그래서 background값을 임의로 주어 하위 엘리먼트 (현재 보여서는 안되는 tab의 content)를 안보이게 처리하였습니다. ...이게 맞는 답변일까요? 저도 궁금하거든요 ;; 워낙 임시방편으로 처리해온터라...



