首页 > 解决方案 > 当用户修改 recyclerview 中的数据时,如何更改按钮的可见性?

问题描述

我需要根据回收者的视图内容更改按钮的可见性,当它更改时它必须变得可见,否则它必须保持不可见

我已经尝试使用接口、回调和“onactivityresult”向recyclerview添加一个changelistener,使用该接口我可以从父类访问一个方法,但我无法访问视图它返回我的空值

结构如下:

父类(viewpager,带有需要更改其可见性的按钮)子类(recyclerview)适配器(调用 API 服务,监听按钮和 Edittext,“我需要从这里修改它”)

标签: android-fragmentsbuttonkotlinandroid-recyclerviewvisibility

解决方案


如果要将数据从子类发送到父类,请执行以下步骤。

您必须创建一个自定义侦听器。

public interface HideButton{
  void hideButton();
}

现在在子类或适配器类中创建此接口的实例

HideButton hideButtonListener;

并在适配器类中创建一个设置器,

public void setButtonHideListener(HideButton listener){
     this.hideButtonListener = listener;
}

并通过适配器引用从父类调用此设置器,例如

adapter.setButtonHideListener(new HideButton(){
    void hideButton(){
    //here you change the visibility of the button in parent class
    }
});

更进一步。现在,当您在适配器中调用 api 并接收响应时,您调用此代码

if(hideButtonListener != null){
   hideButtonListener.hideButton();
}

推荐阅读