java - 模态对话框

标签 java android dialog modal-dialog

我想在 Android 应用程序中做我可以在“常见”Java 应用程序中轻松完成的事情:在通过单击菜单项触发的函数中,我想显示一个模式对话框,其中用户可以在可以输入文本或在两个或三个答案之间进行选择(通常是"is"、“否”和“取消”)。一旦用户做出输入,该功能就可以根据所做的选择继续。

使用 Fragment 类,我可以显示对话框。问题是它只有在用户点击触发的功能完成后才会出现。这意味着取决于用户输入的代码必须在从 Fragment 类派生的类中执行。这有两个缺点: - 它更复杂,因为必须实现两个对象之间的通信, - 类的重用并不容易,因为它被定制为仅与一个类通信。当然,我们可以对任意多个类实现多种通信,但复杂度会更差。

是否可以用更简单的方式做我想做的事情?

预先感谢您花时间帮助我。

最佳答案

由于以下原因,在 Android 应用程序中不允许使用模式对话框

  • 手机可能会长时间无人看管。如果此时弹出模式对话框,应用程序将被阻止,直到用户接听电话并关闭模式对话框。这将导致宝贵的处理时间的损失。
  • 即使用户正在操作手机,应用也不应被阻止,因为手机硬件配置远低于台式机,而且每一毫秒的处理时间都很重要。

我可能遗漏了其他要点,但这些是重要的。
因此您应该考虑使用回调来继续处理用户输入。

关于java - 模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7122598/

相关文章:

java - 何时使用权限 WRITE_CONTACT 和 READ_CONTACT?

Android线性布局,如何匹配剩余的父级?

android - 对话框不出现

javascript - 我怎样才能正确关闭这个 JQuery 对话框?

jquery ui 对话框 : cannot call methods on dialog prior to initialization

通过 JSNI 在 GWT 中实现类似 java.lang.reflect.Proxy 的功能

java - 将 JPanel 保存为图像(对象)并将其绘制回 JPanel

java - 如何将对象存储在硬盘上?

java - 我可以在 GAE 上使用 Spring 吗?

android - getLastKnownLocation 不是实际位置