在我的 Activity 顶部有一个带有一些按钮的对话框。当用户按下按钮时,会发生网络请求,并且应该显示一个进度对话框。所以必须同时至少有两个对话,这是不可能的(我猜)。 我在这里看到 2 种可能的解决方案:
- 按下按钮时,隐藏主对话框并显示进度对话框
- 将弹出的所有内容包装在一个对话框中并手动管理
还有其他选择吗?
最佳答案
我想这取决于网络请求完成后发生的事情。
从“干净”的角度来看,我建议#1 并尽可能将所有“操作”分开。这会导致每个可执行的操作的代码段更小。
根据您的需要(在网络请求之后,仍然在对话框中),#2 也可能是可行的方法。这只是要做更多的工作。在这种情况下,只需在 Dialog 中放置一些 (View.INVISIBLE) 进度条,并在您的网络请求(希望在 AsyncTask 中)运行时按需显示/隐藏。还 setEnabled(false) 您那个时候的 Buttons。处理用户请求(后退按钮)的对话取消。
关于android - 同时出现多个对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782588/