Tabhost を使用しようとしています。2 つのタブがあり、それぞれが 1 つのアクティビティを読み込みます。各アクティビティには、データを解析するための aSync メソッドがあります。setCurrentTab(0)
Tabmenu アクティビティの作成時に行うと、すべて正常に動作しますが、2 番目のタブ ( setCurrentTab(1)
) でアプリを起動しようとすると、最初のタブをロードしようとし、最初のタブの aSync メソッドを実行して、一部のデータが不足しているためクラッシュします。メソッドが機能するため、まったく呼び出されることは想定されていませんでした。
TabMenu.Activity は次のとおりです。
public class TabMenu extends TabActivity {
TabHost tabHost = null;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
setResult(resultCode);
this.finish();
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
Intent intentToGet = getIntent();
tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
TabHost.TabSpec spec2;
Intent intent2;
intent = new Intent().setClass(this, HoursActivity.class);
intent.putExtra("student", intentToGet.getStringExtra("student"));
intent.putExtra("pass", intentToGet.getStringExtra("pass"));
intent.putExtra("un", intentToGet.getStringExtra("un"));
spec = tabHost
.newTabSpec("hours")
.setIndicator("Hours")
.setContent(intent);
tabHost.addTab(spec);
intent2 = new Intent().setClass(this, NotesActivity.class);
intent2.putExtra("student", intentToGet.getStringExtra("student"));
intent2.putExtra("pass", intentToGet.getStringExtra("pass"));
intent2.putExtra("un", intentToGet.getStringExtra("un"));
spec2 = tabHost
.newTabSpec("notes")
.setIndicator("Notes")
.setContent(intent2);
tabHost.addTab(spec2);
tabHost.setCurrentTab(1);
}
}
何か案は?