Android系统。片段暂停时在onPostExecute中运行ui操作

时间:2017-07-27 09:14:19

标签: android android-fragments asynchronous

我在我的应用程序中使用了一堆异步任务,我想在onPostExecute中运行Ui操作。 我通常在异步任务运行时显示一个微调器,当它完成时我想删除微调器并更改Ui或启动一个新片段。

当异步任务完成时应用程序不在前台时,我遇到了问题。我一直在通过检查片段是否暂停来处理错误,如果它已暂停,我有一个布尔值isPaused,我检查onResume以运行onPostExecute代码,但必须有一个更简单的方法。

onPostExecute中的

if (!isPaused) {
    getFragmentManager().popBackStackImmediate();
    } else {
    wasPaused= true;
}

然后onResume

 @Override
public void onResume() {
    super.onResume();
    isPaused = false;
    if (wasPaused) {
        getFragmentManager().popBackStack();
        wasPaused= false;
    }
}

1 个答案:

答案 0 :(得分:0)

当活动暂停(onPause()被调用)时,您无法更新后台的UI或从后台活动启动片段。你所做的是正确的事。