0

私のアプリには、ユーザーが企業に関する情報を追加できるフォームがあります。4 つのカテゴリに TabHost コンポーネントを使用しました。XML では、アプリに 4 つのフォームのレイアウトがあります (xml コードは以下にあります)。タブ付きのマイ アクティビティは、Android Gingerbread を搭載したさまざまなデバイスで動作しますが、Android Ice Cream Sandwich を搭載したデバイスでは動作しません。たとえば、Android 2.3.3 の tabAddress で EditText 番号 4 を選択したい場合、それらのフィールドを選択して、それらに何かを書き込むことができます。Android 4.1.2 または 4.2 で同じことをしたい場合、このバージョンの Android ではそのメカニズムが機能しないため、そのフィールドを選択できません。最後のタブでは、Gingerbread と ICS の両方ですべての EditText を選択できます。ICS のレイヤーのように機能し、最後のタブ (メニュー) が他のタブを覆っていると思います。以下は、私の xml コードと Java コードのフラグメントです。どうすればその問題を解決できますか? Andorid 4.3.3 での作業のように、ICS で作業したいと考えています。

XML コード: `

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:tabStripEnabled="false" />

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >

                <ScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                    <LinearLayout
                        android:id="@+id/tabAddress"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:orientation="vertical"
                        android:padding="10dp" >

                        ... other components (e.g. EditText)

                        <EditText
                            android:id="@+id/etName"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="10dp"
                            android:ems="10" />

                        ... other components (e.g. EditText)

                    </LinearLayout>
                </ScrollView>

                <ScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                    <LinearLayout
                        android:id="@+id/tabDetails"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:orientation="vertical"
                        android:padding="10dp" >

                        ... other components (e.g. EditText)

                        <EditText
                            android:id="@+id/etPhone"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="10dp"
                            android:ems="10" />

                        ... other components (e.g. EditText)

                    </LinearLayout>
                </ScrollView>

                <ScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                    <LinearLayout
                        android:id="@+id/tabHours"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:orientation="vertical"
                        android:padding="10dp" >

                        ... other components (e.g. EditText)

                        <EditText
                            android:id="@+id/etMonday"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="10dp"
                            android:ems="10" />

                        ... other components (e.g. EditText)

                    </LinearLayout>
                </ScrollView>

                <ScrollView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >

                    <LinearLayout
                        android:id="@+id/tabMenu"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:orientation="vertical"
                        android:padding="10dp" >

                        ... other components (e.g. EditText)

                        <EditText
                            android:id="@+id/etProduct"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="10dp"
                            android:ems="10" />

                        ... other components (e.g. EditText)

                    </LinearLayout>
                </ScrollView>
            </FrameLayout>
        </LinearLayout>
    </TabHost>`

Java コード:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    ...

    tabHost = (TabHost) findViewById(R.id.tabhost);
    tabHost.setup();

    addTab("Adres", R.id.tabAddress, R.drawable.home);
    addTab("Szczegóły", R.id.tabDetails, R.drawable.details);
    addTab("Godz.", R.id.tabHours, R.drawable.clock);
    addTab("Menu", R.id.tabMenu, R.drawable.menu);

    setTabColor(tabHost);

    ...
    }

public void addTab(String tabSpecTag, int viewId, int drawableId){
    tabSpecs = tabHost.newTabSpec(tabSpecTag);
    tabSpecs.setIndicator(tabSpecTag, getResources().getDrawable(drawableId));
    tabSpecs.setContent(viewId);
    tabHost.addTab(tabSpecs);
}
4

0 に答える 0