我已将标签创建为视图。但我没有找到任何关于如何操纵这些视图的信息。例如,如果我想在一个中显示一个列表视图,在另一个中显示一个表单(tablelayout)。我可以为每个标签设置单独的布局吗?更重要的是,我在哪里包含有关每个标签的java代码?
这是我的java代码:
public class TabWorkEntryActivity extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabworkentry);
TabHost mTabHost = getTabHost();
mTabHost.addTab(mTabHost.newTabSpec("top10").setIndicator("Top 10").setContent(R.id.Top_10));
mTabHost.addTab(mTabHost.newTabSpec("billable").setIndicator("Billable").setContent(R.id.Billable));
mTabHost.addTab(mTabHost.newTabSpec("product").setIndicator("Product").setContent(R.id.Product));
mTabHost.addTab(mTabHost.newTabSpec("regular").setIndicator("Regular").setContent(R.id.General));
mTabHost.setCurrentTab(3);
}
感谢任何帮助。
答案 0 :(得分:1)
有两种主要方式来放置内容和处理标签: 1.您创建一个活动,并将活动放在tabHost中 2.你处理内容,在你添加标签的相同代码中(吹掉所有设置的东西) 我总是使用第二种方式,因为我的代码是有组织的,所以它不是那么大......
这是一个示例布局,内容为另一个布局......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabHost
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/checkall_tab"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include
android:layout_width="match_parent"
android:layout_height="match_parent"
layout="@layout/checkall" />
</LinearLayout>
<LinearLayout
android:id="@+id/view_tab"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include
android:layout_width="match_parent"
android:layout_height="match_parent"
layout="@layout/viewall" />
</LinearLayout>
<LinearLayout
android:id="@+id/run_program"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include
android:layout_width="match_parent"
android:layout_height="match_parent"
layout="@layout/programs" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
答案 1 :(得分:0)
我使用Android 4.0 tabView制作了这段代码。试着理解它...... 您必须实例化TabHost,然后使用此对象创建选项卡。 然后将选项卡添加到TabHost。 要按ID查找视图,您无需在要访问的选项卡上传递“视图”。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabHost = (TabHost) findViewById(R.id.tabhost);
tabHost.setup();
checkAll = tabHost.newTabSpec("checkAll");
viewAll = tabHost.newTabSpec("viewAll");
runProgram = tabHost.newTabSpec("runProgram");
viewAll.setContent(R.id.view_tab);
viewAll.setIndicator("View All");
tabHost.addTab(viewAll);
checkAll.setContent(R.id.checkall_tab);
checkAll.setIndicator("Check All");
tabHost.addTab(checkAll);
runProgram.setContent(R.id.run_program);
runProgram.setIndicator("Run program");
tabHost.addTab(runProgram);
}