Android:关闭包含侦听器的对话框

凯格尔

我正在使用两个类,以及android中的模型类和对话框类。模型类保留一个侦听器列表,对话框将添加到该侦听器列表。

public class SmartChannelModel {

    private List<OnResultsChanged> mOnResultsChanged
    public interface OnResultsChanged {
        void onResultsChanged(int changed);
    }

    public SmartChannelModel() {
        mOnResultsChanged = new List<OnResultsChanged>();
    }

    public void addResultListener(OnResultsChanged listener) {
        mOnResultsChanged.add(listener);
    }
}

而我的对话框类:

public class InfoDialog extends AppCompatDialog {
    private SmartChannelModel model;
    public InfoDialog(Context context, SmartChannelModel model) {
        super(context);
        this.model = model;
    }
    public void update() {
        //do some stuff
    }
    @Override
    protected void onStart() {
        super.onStart();
        model.addOnResultsChanged(new OnResultsChanged() {
            @Override
            void onResultsChanged(int changed) {
                update();
            }
        });
    }
}

当我创建和关闭此对话框时,由于该对话框向模型类添加了侦听器,因此是否会对其进行垃圾回收?我是否需要专门删除已添加的所有侦听器?

感谢您的帮助!

Want2b专家

据我所知,是的,如果在班上其他任何地方都没有对它的引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android对话框中的VideoView完成侦听器

代号一-对话框的事件侦听器可在外部关闭/取消/轻按

对话框上的Java侦听器关闭

在对话框中设置按钮侦听器

自定义对话框的侦听器null

android将recyclerview项目位置传递给对话框按钮侦听器

使用react-material-ui关闭全屏对话框后,OnClick侦听器不起作用

使用自定义对话框类时如何修改文本并单击侦听器?

SWT / JFace对话框中的“确定”按钮选择侦听器出错

带有警报对话框的表中的侦听器

如何在jquery的sweetalert对话框中为html按钮添加事件侦听器

如何在“自定义”对话框中添加广播组选中的侦听器

Swift-如何添加事件侦听器以取消电子邮件对话框?

Android-在对话框上的侦听器上更新TextView

如何将动作事件侦听器的多个结果添加到对话框

单击对话框警报按钮时将值设置为 listview(多个 onclick 侦听器)

AEM 6.1-如何实现侦听器以显示/隐藏“ Touch UI”对话框中的字段

关闭Facebook登录对话框Android

对话框关闭延迟-Android

关闭主对话框后关闭对话框

有没有一种方法可以将onclick侦听器设置为USSD对话框按钮?

在实现CQ5对话框侦听器时,出现“未捕获的类型错误-“没有方法'应用'””

如何调用作为动作侦听器一部分输入到对话框中的信息?

Android-关闭对话框片段后出现小对话框

对话框关闭时添加监听器?

硒关闭文件选择器对话框

MSAL 浏览器对话框关闭

TestCafe-无法关闭浏览器对话框

Flutter对话框关闭监听器