我想在 Android 应用程序中做我可以在“常见”Java 应用程序中轻松完成的事情:在通过单击菜单项触发的函数中,我想显示一个模式对话框,其中用户可以在可以输入文本或在两个或三个答案之间进行选择(通常是"is"、“否”和“取消”)。一旦用户做出输入,该功能就可以根据所做的选择继续。
使用 Fragment
类,我可以显示对话框。问题是它只有在用户点击触发的功能完成后才会出现。这意味着取决于用户输入的代码必须在从 Fragment
类派生的类中执行。这有两个缺点:
- 它更复杂,因为必须实现两个对象之间的通信,
- 类的重用并不容易,因为它被定制为仅与一个类通信。当然,我们可以对任意多个类实现多种通信,但复杂度会更差。
是否可以用更简单的方式做我想做的事情?
预先感谢您花时间帮助我。
最佳答案
由于以下原因,在 Android 应用程序中不允许使用模式对话框
- 手机可能会长时间无人看管。如果此时弹出模式对话框,应用程序将被阻止,直到用户接听电话并关闭模式对话框。这将导致宝贵的处理时间的损失。
- 即使用户正在操作手机,应用也不应被阻止,因为手机硬件配置远低于台式机,而且每一毫秒的处理时间都很重要。
我可能遗漏了其他要点,但这些是重要的。
因此您应该考虑使用回调来继续处理用户输入。
关于java - 模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7122598/