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

コンテンツを配置してタブを処理するには、主に 2 つの方法があります。 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

このコードは、Android4.0tabViewを使用して作成しました。理解してみてください...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 に答える