2つのタブがあるプロジェクトがあります。タブはメインクラスで作成されます。ここでは、タブ間の変更を処理するために、タブリスナーも追加しました。これが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クラスで1回だけ実行される場合、タブが変更された後にメインクラスに対応するアクティビティを表示するように「強制」するにはどうすればよいですか?NullPointerExceptionを受け取ります
タブのクラスは次のようなものです。
public class Tab1 extends Activity{
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.tab1);
load();
}
public void load(){
//....
}
}