我在Recycler View中使用多行EditText 作为列表项。我的问题是EditText在Recycler视图中不能平滑滚动。
以下是我使用的xml
对于Recycler View
<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>
请帮我解决这个问题。我花了很多时间在这......
答案 0 :(得分:1)
EditTextView.setOnTouchListener { v, _ ->
v.parent.requestDisallowInterceptTouchEvent(true)
false
}
当在回收者视图上使用Edittext时,请求不向其父级传递触摸事件。这样,editText将具有触摸事件并将表现出预期的效果
答案 1 :(得分:0)
我尝试了你的代码。并做了一点改动。我删除了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>