RecyclerView中的EditText中的InputType

时间:2018-04-23 07:57:13

标签: android android-recyclerview android-edittext android-inputtype

在我的RecyclerrView中,有些项目有EditText(Inside cardView)。如果没有在InputType中定义EditText,它可以正常工作但是当我定义InputType时会导致recyclerview滚动在EditText成为焦点时定位为零(当触及editText输入值时)。

这是一个正常的默认EditText

 <EditText
        android:id="@+id/et_name"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/dp_5"
        android:layout_weight="1"
        android:background="@drawable/box_blue_outline"
        android:gravity="center"
        android:hint="@string/name"
        android:padding="@dimen/dp_5"
        android:textSize="@dimen/sp_16" />

我有另一个EditText仅接受数字,所以我添加了InputType

  <EditText
    android:id="@+id/et_name"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/dp_5"
    android:layout_weight="1"
    android:background="@drawable/box_blue_outline"
    android:gravity="center"
    android:inputType="number"
    android:hint="@string/number"
    android:padding="@dimen/dp_5"
    android:textSize="@dimen/sp_16" />

但是点击此EditText输入值RecyclerView(例如7)之间的位置,它会滚动回到位置1.

1 个答案:

答案 0 :(得分:0)

看起来,不同的键盘更改会导致RecyclerView更新。 Window焦点类型非常可能。尝试更改键盘行为,以便显示在Activity/Fragment onCreate

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

请包含位于View的所有RecyclerView布局以及您要绑定的布局。