문제

두 개의 탭이있는 프로젝트가 있습니다.탭은 주 클래스에서 생성됩니다.여기서 Tablistener를 추가하여 탭 간의 변경 사항을 처리합니다.여기에 하나의 탭의 즉각이 있습니다.

TabHost tabHost = getTabHost();    
tabHost.setOnTabChangedListener(this);
    TabHost.TabSpec spec;
    Intent intent;
    intent = new Intent().setClass(this, Tab1.class);
    spec = tabHost.newTabSpec("tab1").setIndicator("",
                    res.getDrawable(R.drawable.ic_tab_tab1))
                    .setContent(intent);
            tabHost.addTab(spec);
.

청취자 방법 :

public void onTabChanged(String tabName) {
    if (tabName.equals("tab1")){
        tab1.load();
    }
}
.

및 두 번째 탭도 유사합니다.내 질문은 켜기 탭과 Tab2 클래스에서 OnCreate () 메소드가 한 번만 실행되면 탭이 변경된 후에 해당 활동을 표시하도록 메인 클래스를 어떻게 "강제로"할 수 있습니까?NullPointerException 를받습니다

탭의 클래스는 다음과 같습니다 :

    public class Tab1 extends Activity{
      public void onCreate(Bundle icicle) {
          super.onCreate(icicle);
          setContentView(R.layout.tab1);
          load();
      }
      public void load(){
        //....
      }
    }
.

도움이 되었습니까?

해결책

onCreate() method calls only once when your Activity first time loaded.

If you want to perform any functionality on each time you view your Activity, put that functionality in onResume() method.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top