如何禁用回收站视图项目选择

时间:2016-12-27 06:25:02

标签: android listview android-recyclerview material-design

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)无效

2 个答案:

答案 0 :(得分:5)

这将有效:

使用布尔变量并将默认值设置为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;
}

答案 1 :(得分:0)

如果要禁用点击Recyclerview的整个项目,请在行项目的父视图中添加以下行。

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