質問

私は2つのタブを持つプロジェクトを持っています。タブはメインクラスに作成されます。ここでは、タブ間の変更を処理するために、TableStenerも追加されました。これが1つのタブの瞬間です:

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();
    }
}
.

、2番目のタブでも似ています。私の質問は、oncreate()メソッドがTAB1クラスとTAB2クラスで一度だけ実行されている場合、メインクラスにメインクラスがタブが変わった後に対応するアクティビティを表示できますか?私は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