好吧,我说我的程序上有一个tabView,我想通过活动传递一些数据。当我尝试startActivity时,标签会消失。所以我想要而不是尝试startActivity。我想更改标签。
我有3个活动,每个选项卡一个,另一个活动用于保存tabview。
public class Start extends TabActivity {
TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start);
Resources res = getResources(); // Resource object to get Drawables
tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
intent = new Intent().setClass(this, Home.class);
spec = tabHost.newTabSpec("Home").setIndicator("Home",
res.getDrawable(R.drawable.ic_tab_main))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, History.class);
spec = tabHost.newTabSpec("History").setIndicator("History",
res.getDrawable(R.drawable.ic_tab_history))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Settings.class);
spec = tabHost.newTabSpec("Settings").setIndicator("Settings",
res.getDrawable(R.drawable.ic_tab_settings))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
这就是我如何添加标签,我不知道如何从其他活动更改标签。我试过这个:
Start tab;
tab.tabHost.setCurrentTab(0);
但我收到了错误....:/
答案 0 :(得分:0)
您应该查看ActivityGroup类。
http://developer.android.com/reference/android/app/ActivityGroup.html
这里显示的是行动:
答案 1 :(得分:0)
您无需致电startActivity
在标签之间切换,TabHost会为您处理。
至于在标签之间传递数据,您是否考虑过将数据存储在tabActivity中?您可以使用getParent()
从您的标签(儿童)中获取对它的引用,然后将其投放到您的班级(Start)
像这样:
Start parentActivity;
parentActivity = (Start) getParent();
现在,您可以访问在tabActivity中创建的数据和方法。