java - 在 onPause 之后添加一个 Fragment

标签 java android android-fragments

在我的 FragmentActivity 中,我正在执行 HTTP GET 并使用结果更新 UI。我正在使用 DialogFragment 来显示可能的错误(比如服务器没有响应等)

问题是,当我在 DialogFragment 上调用 show() 时,有时我的应用会报告 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 因为用户在网络返回之前暂停 Activity。

我的问题是,如果我忽略 show() 如果 Activity 没有恢复,则永远不会显示错误,我如何添加 fragment (或在 FragmentManager 或类似的东西中排队 fragment )以便 FragmentDialog 到如果用户恢复 Activity,会在那里吗?

我应该在 Activity 中提出某种标志(保存错误类型和参数)并在 onResume() 中显示 fragment 吗?或者有更简单的方法?

谢谢

最佳答案

解决它的一种方法是将数据与 View 分开。

您可以让事件(例如网络响应到达)仅更改您的数据对象。

当被要求时, View 将显示数据中的任何内容。

当 View 可见(没有暂停)并且数据发生变化时,只需通知它数据发生变化并要求它更新它的显示(不必详细说明变化是什么)。

关于java - 在 onPause 之后添加一个 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19630452/

相关文章:

具有共享元素的 Android fragment 转换

android - 如何以编程方式在 OpenGL 中为给定图像制作法线贴图?

Android Google+ 登录不起作用 - statusCode=SIGN_IN_REQUIRED

java - Android - MainActivity 扩展类的 onCreate() 未调用

java - 将隐藏输入值从 jsp 传递到 servlet

android - 将 MYSQL 连接到 Android studio

android - 使用单个 fragment 来显示 UI 而不是 Activity 是一个好习惯吗?

java - 在fragment android中设置自定义字体时出现异常错误

java - 任务管理器android 4.1.1中的openjdk平台二进制副本

java - 你能像在 Matlab 中那样在 Java 中操作数组吗?