0

我已将选项卡创建为视图。但是我没有找到有关如何操作这些视图的任何信息。例如,如果我想在一个中显示列表视图,在另一个中显示表单(表格布局)。我可以为每个选项卡设置单独的布局吗?更重要的是,我在哪里包含有关每个选项卡的 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);


}

任何帮助表示赞赏。

4

2 回答 2

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>
于 2012-06-14T00:27:31.240 回答
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);
}
于 2012-06-13T23:25:13.970 回答