我在“回收者视图”中使用多行EditText作为列表项。我的问题是EditText在Recycler视图中不能平滑滚动。
下面是我使用的XML:
对于回收者视图:
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rec_actions"
android:layout_above="@+id/sepp"
android:nestedScrollingEnabled="true" />
对于列表项:
<android.support.v4.widget.NestedScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="@drawable/commentbox_bgright">
<EditText
android:id="@+id/et_control"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@null"
android:gravity="top"
android:minLines="4"
android:padding="5dp"
android:scrollbars="vertical"
android:textCursorDrawable="@null"
android:textSize="12dp" />
</android.support.v4.widget.NestedScrollView>
我尝试了您的代码。并做了很小的改动。我删除了nestedscrollview并将edittext放入相对布局中。滚动工作更加顺畅,并且没有注意到其他滚动行为的变化,因此建议像这样更改列表项xml。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp">
<EditText
android:id="@+id/et_control"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@null"
android:gravity="top"
android:minLines="4"
android:padding="5dp"
android:scrollbars="vertical"
android:textCursorDrawable="@null"
android:textSize="12dp" />
</RelativeLayout>
EditTextView.setOnTouchListener { v, _ ->
v.parent.requestDisallowInterceptTouchEvent(true)
false
}