Skip to content

[Bug]:用findWindowInstanceByTag查找后再cancel() 不能消除 #94

@xiangsss

Description

@xiangsss

框架版本【必填】

13.2

问题描述【必填】

EasyWindowManager.cancelWindowByTag(String.valueOf(KeyMapGnType.GN_TOAST_WINDOW));
// 用下面这个不行,消除不了(首次可以)
//EasyWindowManager.findWindowInstanceByTag(String.valueOf(KeyMapGnType.GN_TOAST_WINDOW)).cancel();

我看了cancelWindowByTag的源码,里面是查询后cancel,继续遍历,,,,findWindowInstanceByTag是找到一个立马返回! 所以存在这个问题,,,但是我每次都是先消除的,不应该出现多个!!!!具体的我就没有深入看了!!!我不知道这属于bug,还是本身就这么设计的呢!谢谢

复现步骤【必填】

        try {
            EasyWindowManager.cancelWindowByTag(String.valueOf(KeyMapGnType.GN_TOAST_WINDOW));
            // 用下面这个不行,消除不了
            //EasyWindowManager.findWindowInstanceByTag(String.valueOf(KeyMapGnType.GN_TOAST_WINDOW)).cancel();
        } catch (Exception e) {}
        EasyWindow.with(mActivity)
                .setWindowTag(String.valueOf(KeyMapGnType.GN_TOAST_WINDOW))
                .setContentView(R.layout.window_show_toast2)
                .setTextSizeByTextView(R.id.v_msg, v_seek_size.getProgress())
                .setTextByTextView(R.id.v_msg, ls_str)
                .setWindowDuration(time)
                .show();

是否必现【必填】

项目 targetSdkVersion【必填】

28

出现问题的手机信息【必填】

雷电模拟器(android9)

出现问题的安卓版本【必填】

android9

问题信息的来源渠道【必填】

自己遇到的

是部分机型还是所有机型都会出现【必答】

全部

框架最新的版本是否存在这个问题【必答】

框架文档是否提及了该问题【必答】

是否已经查阅框架文档但还未能解决的【必答】

issue 列表中是否有人曾提过类似的问题【必答】

是否已经搜索过了 issue 列表但还未能解决的【必答】

是否可以通过 Demo 来复现该问题【必答】

提供报错堆栈


提供截图或视频

No response

提供解决方案

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions