2012-03-07 9 views
0

내 앱의 기본 화면으로 tabhost가 있는데 잘 작동하며 지금 잠시 사용 해왔다. 모든 탭은 별도의 Activity입니다.Tabhost Listener 타이밍 문제

문제는 사용자가 탭을 클릭했을 때를 알아야하고, 화면에 활동이 표시되기 전에이를 알아야한다는 것입니다. 나는 사용자가 Tab을 클릭 할 때 찾을 수있는 곳에서 작동하도록 꽤 빨리 할 수 ​​있었지만, Activity가 이미 화면을 채운 후에야 발견 할 수있었습니다.

해당 탭과 연결된 활동 콘텐츠가 표시되기 전에 탭 호스트에서 탭이 변경되었음을 알 수있는 창의적인 방법을 생각해보십시오.

+0

정말로 파고 들기를 원한다면,이 질문의 목적을 위해 코드는 기본적으로 제가 탭 호스트의 프레임 워크로 작업하고있는 코드입니다. [link] (http://mfarhan133.wordpress.com/2010/11/17/tablayouttabhost-tutorial-for-android-reusing-layout /) – milkboneUnderwear

답변

0

확장하고 TabWidget 시도하고 같은에 onFocusChange 메소드를 오버라이드 (override) : 완전한 당신의 XML 클래스 및 G2G해야 다음

public class MyTabWidget extends TabWidget{ 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     doSomethingBefore(); 
     super.onFocusChange(View v, boolean hasFocus); 
     doSomethingAfter(); 
    } 
    void doSomethingAfter { 
     ... 
    } 
    void doSomethingBefore{ 
     ... 
    } 
} 

참조.

+0

유망한 생각이지만, 링크의 코드에 어떻게 맞습니까? – milkboneUnderwear

+0

tabwidget이 포함 된 레이아웃 파일에서 위의 클래스에 대한 참조가 어떻게 생깁니 까? – milkboneUnderwear

+0

petey