如何在Recycler视图中使用多行编辑文本

问题描述 投票:3回答:2

我在“回收者视图”中使用多行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>
android android-recyclerview android-nestedscrollview
2个回答
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>

0
投票
EditTextView.setOnTouchListener { v, _ ->
  v.parent.requestDisallowInterceptTouchEvent(true)
  false
}
© www.soinside.com 2019 - 2024. All rights reserved.