System regulacji Android nie działa po raz pierwszy

Mój problem: od drugiego razu, gdy klawiatura programowa jest wyświetlana na ekranie, całkowicie ukrywa mój EditText.

Atrybut android: windowSoftInputMode = "adjustPan" został określony w pliku XMLManifest.xml, ale działa tylko za pierwszym razem.

Mam następujący układ:

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="464dp"
        android:gravity="top"
        android:orientation="vertical"
        android:paddingLeft="16dp"
        android:paddingRight="16dp" >

        <ListView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="10"
            android:background="#E3E3E2"
            android:gravity="top" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/addListText"
                android:layout_width="0dp"
                android:layout_height="48dp"
                android:layout_weight="10"
                android:contentDescription="@string/addItemContentDescription"
                android:gravity="bottom|center_horizontal"
                android:inputType="textLongMessage"
                android:textColor="#E3E3E2"
                android:visibility="gone" />

            <ImageButton
                android:id="@+id/addTextListButton"
                android:layout_width="0dp"
                android:layout_height="48dp"
                android:layout_weight="1"
                android:layout_gravity="right"
                android:background="@android:color/transparent"
                android:contentDescription="@string/addItemButton"
                android:scaleType="fitCenter"
                android:src="@drawable/plus_add"
                android:visibility="gone" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:gravity="bottom|center_horizontal"
        android:orientation="horizontal"
        android:paddingLeft="16dp"
        android:paddingRight="16dp" >

        <ImageButton
            android:id="@+id/syncListsButton"
            android:layout_width="64dp"
            android:layout_height="match_parent"
            android:src="@android:drawable/ic_popup_sync" />

        <ImageButton
            android:id="@+id/showOrHide"
            android:layout_width="64dp"
            android:layout_height="match_parent" />

        <ImageButton
            android:id="@+id/delListButton"
            android:layout_width="64dp"
            android:layout_height="match_parent"
            android:src="@android:drawable/ic_menu_delete" />
    </LinearLayout>
</LinearLayout>

Przycisk „showOrHide” pokazuje / ukrywa combo „addListText” / „addTextListButton”.

Gdy tekst edycji jest wyświetlany po raz pierwszy, a ja go dotykam, na ekranie pojawia się miękka klawiatura, a kombinacja „addListText” / „addTextListButton” jest poprawnie przesuwana. Kiedy ukryję klawiaturę i pokażę ją ponownie, klawiatura całkowicie pokrywa moje pole edycji addListText!

Masz jakieś pojęcie o tym, co się dzieje? Testuję go na Androida 4.2.2.

Proszę pomóż! Dzięki :-)

edytować: Próbowałem też umieścić pierwszy LinearLayout w ScrollView, ale to nie działa!

questionAnswers(8)

yourAnswerToTheQuestion