【问题标题】:How to disable recycler view item selection如何禁用回收站视图项目选择
【发布时间】:2017-05-11 10:33:00
【问题描述】:
movieListRecyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() {
                    @Override
                    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                        // true: consume touch event
                        // false: dispatch touch event
                        return false;
                    }
                });

但是一旦禁用我就无法重新启用它,有没有办法让它像切换一样工作,它将启用和禁用 RecyclerView

recyclerview.setEnabled(false) 不工作

【问题讨论】:

  • 你的意思是整个 RecyclerView 吗?
  • @TheFlash 是的,点击按钮后 RecyclerView 应该被冻结

标签: android listview android-recyclerview material-design


【解决方案1】:

这将起作用:

使用 boolean 变量并将默认值设置为 false 并在按钮单击时更改值。

boolean touch = false;

    movieListRecyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() {
                        @Override
                        public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                            // true: consume touch event
                            // false: dispatch touch event
                            return touch;
                        }
                    });

然后在您的按钮单击或任何单击更改布尔值;

 onClick(){
 touch = !touch;
}

【讨论】:

  • @swanandkeskar :)
【解决方案2】:

如果您想禁用点击整个 recyclerview 项目,请在 row item 的父视图中添加以下行。

  android:clickable="false"
  android:focusable="false"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2020-11-02
    • 2016-04-19
    • 2018-11-25
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    相关资源
    最近更新 更多