首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解雇DialogFragment

解雇DialogFragment
EN

Stack Overflow用户
提问于 2017-02-07 19:05:09
回答 2查看 386关注 0票数 0

我正在显示一个FragmentDialog F。如果来自服务器的响应是肯定的,我想驳回它。我使用AsyncTask在用户单击F上的OK后发出请求。我不能立即关闭窗口,因为我必须等待服务器的响应。

我认为有两种解决办法:

  1. 关闭对话框并再次显示。
  2. 尝试使用片段管理器按标记隐藏Fragment

什么是更好的解决方案?有规范的方法吗?

  1. 让我们假设以下情况:我有一个按钮B。如果用户单击B,则向服务器发送请求。我将等待一个回应,所以我向ProgressDialog P展示。刚到的时候我想给DialogFragment看一下。我有两个疑问:

( 3a)如果用户非常快,怎么办:单击B ->,单击B -> showProgressDialog P。我是说,用户点击两次非常快。他成功地做到了,因为他在ProgressDialog出现之前就做过了(他触发了两个事件)。

我不知道这种情况是否可能发生。如果没有,请说服我。

3b)当FragmentManager完成显示FragmenDialog时,我想提交给FragmenDialog。但是,怎么做呢?我不知道活动的状态!

EN

回答 2

Stack Overflow用户

发布于 2017-02-07 19:25:39

只要用户一点击OK就关闭您的FragmentDialog F即可。然后显示运行进度对话的持续时间。

请参阅此答案,以了解如何显示和取消进度对话框:progressDialog in AsyncTask

票数 0
EN

Stack Overflow用户

发布于 2017-02-07 19:50:38

如果您使用的是自定义DialogFragment类,请在其中使用该AsyncTask,如果结果是所需的,则在onPostExecute上只需关闭它即可。

如果您没有使用自定义类,只需在其中创建一个使用异步任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42097898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档