Closed Dboy233 closed 3 years ago
这是由于调用dialog.dismiss()的时候,当前dialog还正在显示,所以不能开启第二个dialog。
需要使用setOnDismissListener(),这样动画结束后展示下一个dialog才可以。
解决方法是:
.setOnItemClickListener((dialog1, item, view, position) -> { dialog1.dismiss(); //这里创建第二个dialog }); .setOnDismissListener(dialog -> { //这里调用dialog.show(); })
我当时是做法是,把源码下载下来修改了一处调用位置就可以了。
时间已经过去很久了,我记得就是改了这个地方。增加了一行代码。
现在已经全部使用DialogFragment了。我当时确实是第一个dialog动画必须结束后才能展示第二个dialog,要等待第一个dialog关闭,业务逻辑上会复杂很多,所以就修改了一下源码。
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.