在onPause之后添加片段

时间:2013-10-28 08:52:04

标签: java android android-fragments

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

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

我的问题是,如果我忽略了show(),如果活动没有恢复,那么错误永远不会显示,我怎样才能添加片段(或将FragmentManager中的片段排队等等)以便FragmentDialog如果用户恢复活动,请在那里吗?

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

由于

1 个答案:

答案 0 :(得分:2)

解决问题的一种方法是将数据与视图分开。

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

视图会在要求时显示数据中的内容。

当视图可见(暂停一个)并且数据发生变化时,只需通知它数据发生变化并要求其更新显示内容(无需详细说明更改内容)。