防止在键盘打开时更改editText

时间:2017-05-12 19:06:51

标签: android android-layout listview

在我的Android应用程序中,我有ListView,标题包含2 editText。当我尝试将焦点放在较低的editText时,键盘会显示,并将焦点更改为上面的editText。标题布局xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/name"
        android:hint="Title"
        android:layout_alignParentTop="true"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:nextFocusUp="@id/name"
        android:inputType="text"
        android:hint="Wordpack description"
        android:id="@+id/description"
        android:layout_below="@+id/name" />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/description"
        android:inputType="text"
        android:id="@+id/locale"
        android:text="Select language"/>
</RelativeLayout>

enter image description here

1 个答案:

答案 0 :(得分:1)

似乎ListView正在关注焦点,并在点击它时将其交给第一个孩子。看看这个answer。根据它的要点,您需要在清单上的活动中添加以下内容:

android:windowSoftInputMode="adjustPan"

并将其添加到ListView:

android:descendantFocusability="beforeDescendants"