0

我有一个带有 UI 的片段,负责执行简短的异步 api 调用。当异步任务完成时,片段会触发带有结果字符串的 Toast 消息。

我的问题是,如果用户在没有等待结果的情况下按下后退按钮,则应用程序由于某个方法而崩溃,该方法又会在已分离的片段中onPostExecute触发Toast+ ,因为活动落后于状态。getString(R.string.whatever)onDestroy

我可以检查片段是否已分离或使用 a ProgressDialog,这是模态的,但我认为在没有阻塞或任何其他怪癖的情况下显示敬酒会很好。关于如何实现它的任何建议?应用程序类中的广播接收器 == 矫枉过正?

谢谢。

UPD日志:

01-24 12:01:29.626: E/AndroidRuntime(616): java.lang.IllegalStateException: Fragment HandsetSocialNetworksFragment{40612a78} 未附加到活动 01-24 12:01:29.626: E/AndroidRuntime(616): 在 android。 support.v4.app.Fragment.getResources(Fragment.java:571) 01-24 12:01:29.626: E/AndroidRuntime(616): 在 android.support.v4.app.Fragment.getString(Fragment.java:593 )

4

1 回答 1

2

在异步调用开始时,从片段中获取活动,并从中获取应用程序上下文。稍后使用它来获取您需要的字符串。

或者,您可以在开始异步调用时获取所需的字符串,而不是在必须显示 toast 时。

于 2013-01-24T09:23:08.990 回答