我在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都有自己的活动。 现在我的问题是,如何用按钮切换到下一个Tap-Activity? 我试图只启动Activity,但是Tap控件丢失了。
startActivity(new Intent(this, BTapActivity.class));
我发现它应该是这样的:
setCurrentTabByTag("BTab");
但我不知道如何。
编辑:
当我输入“tabHost.setCurrentTabByTag(”BTap“);”在onCreate方法的末尾,选择了BTap。因此它是正确的命令。但是从另一个Activity我无法访问tabHost。 当我将tabHost设置为全局对象时,应用程序崩溃:
TabHost tabHost = getTabHost();
我在Tab-Activity中尝试过这样的事情:
startActivity StartAct = new startActivity ();
StartAct.setTap("BTap");
此方法位于StartActivity中:
public void setTap(String tap) {
tabHost.setCurrentTabByTag(tap);
}
我该怎么办?对不起,我是初学者......
答案 0 :(得分:0)
您可以使用TabHost的setCurrentTab(int index)
功能以编程方式打开标签。