当在viewpager中加载包含Edittext的Fragment时,Edittext无法获得焦点

时间:2015-05-27 15:51:45

标签: android android-fragments android-edittext android-viewpager

当在viewpager中加载包含Edittext的片段时,Edittext无法获得焦点。光标闪烁一次,焦点丢失。这是XML。

ViewPager布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="co.interacta.app.ui.FormInteractionFragment">

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_width="match_parent"

        android:layout_height="match_parent" />

</FrameLayout>

编辑文字所在的布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@drawable/bg_yes_no_question"
    >

    <!-- TODO: Update blank fragment layout -->
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="190dp"
        android:layout_marginTop="32dp"

        />
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="60dp"
        android:layout_gravity="center_vertical">
        <TextView android:id="@+id/question" android:layout_width="match_parent" android:layout_height="match_parent"
            android:text="Question"
            android:gravity="center"
            android:layout_marginLeft="5dp" android:textSize="20sp" android:layout_marginBottom="15dp"
            />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:text="Answer: "
                android:textSize="15sp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="15dp"
                />
            <EditText
                android:id="@+id/answer"
                android:layout_width="match_parent"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:textColor="#000000"

                android:textSize="20sp"

                android:layout_height="wrap_content" />

            </LinearLayout>
            <Button
                android:id="@+id/done"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Done"
                android:layout_marginTop="5dp"
                android:layout_gravity="center"
                />
        </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_marginBottom="15dp"
        android:orientation="vertical">

        <include
            android:id="@+id/indicator_view"
            layout="@layout/indicator_questions"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="15dp"
            />

        <co.interacta.app.widgets.FontTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="@string/powered_by_interacta"
            android:textSize="12sp"
            app:fontName="open_sans_regular.ttf" />
    </LinearLayout>
</FrameLayout>

1 个答案:

答案 0 :(得分:0)

你只需要添加

活动清单中的

android:windowSoftInputMode="adjustPan"