编辑得有点清晰 所以...我必须误解如何正确使用TabHosts,因为我的代码在安装过程中完全崩溃,当我尝试添加一些TabSpecs时...我希望有一个视图,其中有一些UI界面,其中包含与其关联的图形和动画,然后是一个使用标签设置的菜单系统。我的代码看起来像是:
public void myView extends RelativeLayout {
// Other Views ...
private TabHost myTabHost;
private ExpandableListView listView1; // content for tab 1
private ExpandableListView listView2; // content for tab 2
public myView(Context context) {
super(context);
// some other stuff
myTabHost = new TabHost(context);
myTabHost.setId(R.id.myTabHost);
listView1 = new ExpandableListView(context);
listView1.setId(R.id.myExpandableListView1);
listView2 = new ExpandableListView(context);
listView2.setId(R.id.myExpandableListView2);
TabSpec tab1 = myTabHost.getTabSpec(res.getString(R.string.tab1));
tab1.setIndicator(res.getString(R.string.tab1), res.getDrawable(R.drawable.tab1));
tab1.setContent(R.id.myExpandableListView1); // *********
myTabHost.addTab(tab1);
// do something similar for tab2..
}
}
这是我目前正在使用的活动..
public void myActivity extends Activity {
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
// do a little stuff..
TabHost myTabHost = (TabHost) findViewById(R.id.myTabHost); // not sure if I'm supposed to set up the tabs in my activity, or not..
// I tried it after it crashing in the view, and it still crashed in the activity..
ExpandableListView myListView1 = (ExpandableListView) findViewById(R.id.myExpandableListView1);
// set up expandable list view the way I want from data sources..
// do something similar for myListView2
}
}
根据我的理解,我不想扩展TabActivity,因为这假设整个屏幕将成为一个巨大的TabHost,对吧?我只希望TabHost成为活动的一小部分...问题是系统崩溃了*********
所指示的地方..我想我只是不明白如何去关于设置标签?有人可以告诉我正确的方法,或者可能会建议为什么它会崩溃?我想我也应该添加问题..使用TabHost,我是否必须使用TabActivity? (我不明白为什么我会这么做,但Android可以这么有趣......)
奖金 我正在四处寻找并找到关于没有tabactivities的tabhosts的stackoverflow链接。它们引用了LocalActivityManager。我将不得不阅读这个......
答案 0 :(得分:0)
我很确定您需要Activity
才能使用TabHost
。此外,TabHost
需要非常特定的布局才能使其正常工作,而您也没有。我相信你需要重新思考你的方法。
我很确定你看过this,但以防万一。
修改强>
你可以从Activity(而不是TabActivity
)扩展,并将标签小部件放在任何你想要的位置。但是,您必须在添加任何tabHostVariable.setup()
之前致电TabSpecs
。
答案 1 :(得分:0)
您希望扩展TabActivity以正确执行此操作。查看http://developer.android.com/resources/tutorials/views/hello-tabwidget.html以获得精彩的教程。