0

4つのタブを持つタブホストがあります。各タブにはいくつかの編集ボックスがあります。実際の2.1デバイスとエミュレーターでは、任意の編集ボックスを選択して値を挿入できます。しかし、2.3エミュレーターと実際のデバイスでは、4番目のタブのエディットボックスのみを選択できます...タブ1-相対レイアウトタブ2-4-テーブルレイアウト。エディットボックスのプロパティは似ています...タブ3と4のエディットボックスの違いはわかりませんが、動作は異なります。

注:2.1は800x480デバイス(ランドスケープ)2.3は1024x768デバイス(ランドスケープ)エディットボックスのスタイルがあります-どちらの場合も同じです...

誰かがこの状況を引き起こす可能性があることを知っていますか?..

さらに:2.1エミュレーターでは、タブ1〜3内のコントロールをクリックすると、すべて問題がないことに気づきました。しかし、tab4に移動してから任意のタブに戻ると、編集ボックスはタブ1〜3のいずれでも選択できなくなります(最初の1つは「選択」されますが、応答はありません)。2.3と同じです(ただし、これらのフィールドは編集できません)。スタートから...)。また、タブ4は機能していますが、残りは機能していません...完全に2.3のように

更新:タブごとに個別のレイアウトファイルがあります。これらは「includelayout」({includelayout = "@ layout / tab_1_main" /}、{include layout = "@ layout / tab_2_main"})を介してメインレイアウトに含まれています。等)。最後の「含まれている」レイアウトでのみ、コントロールは2.3で編集可能です-他では編集できません。「include」行がシャッフルされている場合(つまり、{include layout = "@ layout / tab_2_main" /}が最後の行になる場合)、タブ2はコントロールを編集できる唯一のタブです...

4

1 に答える 1

1

解決したようです。

「含まれる」レイアウトには、「tablelayout」レベルで設定された ID (太字でマーク) がありました

<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            **android:id="@+id/layoutTab2"**
                android:scrollbars="none">
        <TableLayout 
            android:layout_width="fill_parent"

Android 2.3 は、ユーザーに表示されたときに、そのようなレイアウトを「アクティブ化」できなかったようです。タブの各レイアウトでIDを最上位(scrollview)に移動すると、問題は解決しました。

于 2012-05-12T22:40:06.723 に答える