orhanobut / dialogplus

Advanced dialog solution for android
Apache License 2.0
5k stars 793 forks source link

二级 Dialog 不展示,The second dialog does not show #196

Closed Dboy233 closed 3 years ago

Dboy233 commented 4 years ago

1.在第一个Dialog中点击打开第二个dialog 2.同时隐藏第一个DIalog。 3.会导致第二个dialog不显示。

1.Open the second dialog in the first dialog 2.Also hide the first dialog. 3.Causes the second dialog not to display.

XiaoFei9704 commented 3 years ago

这是由于调用dialog.dismiss()的时候,当前dialog还正在显示,所以不能开启第二个dialog。 需要使用setOnDismissListener(),这样动画结束后展示下一个dialog才可以。 解决方法是: .setOnItemClickListener((dialog1, item, view, position) -> { dialog1.dismiss(); //这里创建第二个dialog }); .setOnDismissListener(dialog -> { //这里调用dialog.show(); })

Dboy233 commented 3 years ago

我当时是做法是,把源码下载下来修改了一处调用位置就可以了。

Dboy233 commented 3 years ago

image 时间已经过去很久了,我记得就是改了这个地方。增加了一行代码。

Dboy233 commented 3 years ago

现在已经全部使用DialogFragment了。我当时确实是第一个dialog动画必须结束后才能展示第二个dialog,要等待第一个dialog关闭,业务逻辑上会复杂很多,所以就修改了一下源码。