Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启用和禁用RecyclerView的外观_Java_Android - Fatal编程技术网

Java 启用和禁用RecyclerView的外观

Java 启用和禁用RecyclerView的外观,java,android,Java,Android,我的活动中有Recylerview。我可以使用下面的代码禁用Recylerview项目选择 recyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() { @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {

我的
活动中有
Recylerview
。我可以使用下面的代码禁用Recylerview项目选择

 recyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() {
            @Override
            public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                // true: consume touch event
                // false: dispatch touch event
                return touch;
            }
        });
但我想在下面的功能中显示禁用/启用外观

启用RV:

关闭时,禁用
RecylerView
中的所有或部分项目,如下所示


我猜这是一种在“RecyclerView”上的透明视图,因为项目仍然可以点击,因为我可以看到项目点击的连锁反应,但功能在禁用上不起作用。如何在我的应用程序中实现此行为

只需在recycler视图上添加透明视图,并将xml中的android:clickable=“true”设置为前景视图。

从上述代码禁用recyclerview后,更改每行的不透明度,然后设置Enable(False)对于每一行项目,在启用recyclerview时,删除不透明度和setEnable(true)

在changelistner for toogle按钮内,使用不透明度和所有更改刷新recyclerview

为供您参考,我添加了一个简单的代码:-

toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            if(b){
                tvText.setEnabled(true);
                tvText.setText("enabled");
                tvText.setAlpha(1);
            }else{
                tvText.setText("disabled");
                tvText.setAlpha(0.4f);
                tvText.setEnabled(false);
            }
        }
    });

从if-else循环刷新您的recyclerview,并将启用/禁用值传递给它,并更改每行的alpha值

这一个看起来像偏好活动或片段,这一个是启用或禁用功能。是的,我知道。但是想知道如何在RecylerViewWit中实现此功能将影响整个视图我添加了一些代码请帮助理解,应用您的逻辑。