我在 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
}
每个 Tap 都有自己的 Activity。现在我的问题是,如何使用按钮切换到下一个 Tap-Activity?我试图仅启动 Activity,但随后缺少 Tap-control。
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);
}
我能做些什么?对不起,我是初学者...