好的,我的布局中只有一个EditText和一个ListView。 ListView设置为具有focusable和focusableInTouchMode为false。对于列表中膨胀的每个元素(下面的膨胀元素的布局)也是如此:
<RelativeLayout 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"
android:focusable="false"
android:focusableInTouchMode="false">
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:focusableInTouchMode="false">
<Button
android:text="@string/item_name"
android:textColor="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/itemButton"
android:background="@drawable/button_selector"
style="@style/ButtonTheme"
android:gravity="left|center_vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingBottom="15dp"
tools:ignore="RtlHardcoded,RtlSymmetry"
android:focusable="false"
android:focusableInTouchMode="false" />
<TextView
android:text="@string/serial_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/serialNumber"
android:layout_alignParentStart="true"
android:layout_alignBottom="@id/itemButton"
android:textSize="12sp"
android:layout_marginBottom="5dp"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:fontFamily="monospace"
tools:ignore="RtlHardcoded"
android:focusable="false"
android:focusableInTouchMode="false" />
</RelativeLayout>
<LinearLayout
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:id="@+id/buttonBar"
android:layout_alignBottom="@id/relativeLayout"
android:layout_alignParentStart="true"
tools:ignore="RtlHardcoded"
android:focusable="false"
android:focusableInTouchMode="false">
<Button
android:text="@string/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/deleteButton"
android:background="#FF0000"
style="@style/ButtonTheme"
android:focusable="false"
android:focusableInTouchMode="false" />
</LinearLayout></RelativeLayout>
但是出于某些原因,当我选择我的EditText时,它会给我一个&#34; Next&#34;按钮。单击此按钮似乎没有任何关注,并给我一个输入按钮,而不是&#34;完成&#34;按钮。如果我删除ListView中的所有项目或者从不在其中放入任何内容,我的EditText将显示&#34; Done&#34;应该如此。
当使用View.getNextFocusForwardId()查找可以获得焦点的内容时,它给了我和ID为-1。这对我来说没有任何意义,因为一切都被明确地设置为不可聚焦。