StartActivity に次の TapControl があります。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost();
// Tab for A Tap
TabSpec atapspec = tabHost.newTabSpec("ATap");
// setting Title and Icon for the Tab
atapespec.setIndicator("ATap", getResources().getDrawable(R.drawable.state_atap));
Intent atapIntent = new Intent(this, ATapActivity.class);
atapspec.setContent(atapIntent);
// Tab for B Tap
TabSpec btapspec = tabHost.newTabSpec("BTap");
btapspec.setIndicator("BTap", getResources().getDrawable(R.drawable.state_btap));
Intent btapIntent = new Intent(this, BtapActivity.class);
btapspec.setContent(btapIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(atapspec); // Adding a tab
tabHost.addTab(btapspec); // Adding b tab
}
各タップには独自のアクティビティがあります。さて、私の問題ですが、ボタンで次のタップアクティビティに切り替えるにはどうすればよいですか? アクティビティだけを開始しようとしましたが、タップ コントロールがありませんでした。
startActivity(new Intent(this, BTapActivity.class));
私はそれがそのようなものでなければならないことを発見しました:
setCurrentTabByTag("BTab");
しかし、方法がわかりません。
編集:
「tabHost.setCurrentTabByTag("BTap");」を入れると onCreate メソッドの最後で BTap が選択されているため、正しいコマンドです。しかし、別のアクティビティからは、tabHost にアクセスできません。tabHost をグローバル オブジェクトにすると、アプリがクラッシュします。
TabHost tabHost = getTabHost();
Tab-Activity から次のように試しました。
startActivity StartAct = new startActivity ();
StartAct.setTap("BTap");
このメソッドは StartActivity にあります。
public void setTap(String tap) {
tabHost.setCurrentTabByTag(tap);
}
私に何ができる?すみません、初心者です…