首页 文章

模态对话框不会出现

提问于
浏览
1

在我的应用程序中,我有一个烦人的行为 . 这给我的客户带来了问题 .

该应用程序有几个点我需要显示一个Dialog(模态),然后用户可以填写一些字段,然后他们可以关闭对话框 . 因此系统遵循其自然路径 .

在确定的时刻,这很好 . 显示对话框,用户与之交互,关闭它,....

但是,在其他时刻(相同的代码),对话框不会自动出现 . 用户需要在设备上执行一些外部操作(例如更改其方向,触摸屏幕中心,执行滚动手势等) . 目前一些不直观的动作 . 此行为使用户认为我的应用程序冻结 . 对我来说很明显,对话框被调用,只是它没有画在屏幕上 .

我试着读一下这个问题 . 我在类似的问题上做了一些研究但没有成功 . 我猜原因与EDT有关 .

简而言之,如何在不违反EDT规则的情况下调用Dialog Modal . 更具体地说,我该如何解决这个问题 . 当我请求在屏幕上显示对话框时,我希望它真的出现在100%的情况下 . 今天随机工作 .

其他信息:我的应用程序还使用Java 5 . 您是否建议迁移到Java 8?

=======其他信息(1)===========

此问题很大程度上取决于设备型号 . 在MotoG3(Android 6)中,这个问题是个例外 . 很少发生 . 在我的Galaxy Note 8中则相反 . 总是发生 . 在联想Vibe5(Android 6)中 . 经常发生 . 我添加了这些信息 . 也许它有助于复合问题图片 .

附加问题:是否可以编写一个片段,我可以将其用作模板来执行Dialog Modal调用而不破坏EDT的某些规则?

1 回答

  • 0

    打开模拟器中的EDT违规检测工具,该工具应检测此类问题 . 检查可能存在问题的 Dialog 调用案例,如果您不知道如何修复它们,请专门发布它们 .

    Java 8是不相关的,尽管迁移项目并非易事 .

相关问题