小编Siv*_*al 的帖子

onTouchListener 到 RecyclerView 已禁用其滚动

我有一个可水平滚动的 recyclerView,当在任何地方触摸 recyclerView 时,应该发生下拉列表。我已经尝试了很多方法,比如 onclick,但没有奏效。唯一有效的是onTouchListener,但是在实现滚动不起作用之后。

这是 recyclerView 代码

<android.support.v7.widget.RecyclerView
        android:id="@+id/rv_selected_groups"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:layout_marginStart="16dp"
        android:clickable="true"
        android:layout_marginTop="0dp"
        android:orientation="horizontal"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:paddingBottom="8dp"
        android:paddingTop="8dp"
        app:layoutManager="android.support.v7.widget.LinearLayoutManager"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@id/iv_dropdown"
        app:layout_constraintTop_toBottomOf="@id/tv_select_group"
        android:focusable="true" />
Run Code Online (Sandbox Code Playgroud)

这是使用的 onTouchListener 的代码

 mRecyclerViewSeletedGroups.setOnTouchListener(View.OnTouchListener { view, motionEvent ->
        when (motionEvent.action){
            MotionEvent.ACTION_UP -> {
                dropdownFlag = !dropdownFlag
                mPresenterImpl.onDropdownClicked(dropdownFlag)
            }
        }
        return@OnTouchListener true
    })
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试使用 onclick 而不是 onTouch 时,它不起作用。

我想实现 onTouch 以及滚动应该工作。

我该如何解决这个问题?

xml android kotlin

1
推荐指数
1
解决办法
1524
查看次数

标签 统计

android ×1

kotlin ×1

xml ×1