将侦听器用于自定义AppCompatDialogFragment工作流

时间:2019-12-08 06:48:57

标签: android android-fragments android-dialogfragment

我有一个具有复杂工作流程的自定义AppCompatDialogFragment。
我需要监视父活动中工作流的状态,以便知道它是成功,失败还是仍在进行中。
为此,我创建了一个接口MyListener,使我的父活动实现该接口并在Dialog的onAttach期间将其作为字段获取:

@Override
public void onAttach(@NonNull Context context) {
    super.onAttach(context);


    if (context instanceof MyListener)
        listener = (MyListener) context;

    if (listener == null) {
        Crashlytics.logException(new RuntimeException("listener == null"));
        throw new RuntimeException("listener == null");
    }

    listener.loading(true);
}

这是一个非常简单的代码,我仅在1个活动中实例化我的自定义对话框以测试其运行是否正常,但有时它会在生产环境中崩溃

我的应用每天有大约5,000个用户,因此我无法真正在测试中重现崩溃,我估计大约有5%的用户会遇到此问题

IM 100%确保我仅将此对话附加到一项活动,该活动确实实现了MyListener,但仍然会发生。

有人可以解释我何时以及为何崩溃?

0 个答案:

没有答案