【发布时间】:2011-06-21 13:09:27
【问题描述】:
我在问我们是否可以从另一个类而不是包含 tabhost 和 tabspecs 的类调用 tabhost 上的 setCurrentTab?
我们可以放吗
tabHost.setCurrentTab(1);
在另一个班级而不是这个班级:
public class Main extends TabActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("", "Welcome in Main");
setContentView(R.layout.tab);
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost); // Le TabHost a des Tabs
TabSpec firstTabSpec = tabHost.newTabSpec("tid1"); // TabSpec: new tab - TabSpec : setContent to the tab
firstTabSpec.setIndicator("Informations", getResources().getDrawable(R.drawable.database)).setContent(new Intent(this,FirstTab.class));
tabHost.addTab(firstTabSpec);
TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
secondTabSpec.setIndicator("Graphiques", getResources().getDrawable(R.drawable.chart)).setContent(new Intent(this,SecondTab.class));
tabHost.addTab(secondTabSpec);
TabSpec thirdTabSpec = tabHost.newTabSpec("tid1"); // tid1 is firstTabSpec Id (used to access outside)
thirdTabSpec.setIndicator("Réglages", getResources().getDrawable(R.drawable.settings)).setContent(new Intent(this,ThirdTab.class));
tabHost.addTab(thirdTabSpec);
}
}
我们可以把它变成一个静态变量吗?我们如何才能做到这一点?
感谢您的关注!
【问题讨论】:
-
写更多关于你想要达到的目标,因为看起来你正在考虑非常糟糕的编程......当使用包含对 Context 的引用的静态变量(例如 TabHost)时,你可能会导致内存泄漏.为什么要从其他类更改当前选项卡以及哪些类会这样做?
-
我在第一个视图中有一个按钮,如果我们按下它,我想看到第二个视图(每个视图都在自己的选项卡上).. 就像我们按下选项卡一样...
标签: android static android-tabhost tabactivity