首页 > 解决方案 > 等待片段被附加

问题描述

我有一个使用几个片段的应用程序。在我的测试设备上,代码运行完美。但是在 crashlytics 上,我看到在某些设备上尝试在片段上运行 AsyncTask 时我的应用程序崩溃。错误消息告诉“致命异常:java.lang.IllegalStateException Fragment ActivityPoI{51ba000} (078ad72b-5fa8-49c3-9f38-0c15addda8d1)} 未附加到上下文。”

为了避免这种情况,我打算使用下一个代码。我希望 asyncTask 在附加片段之后立即启动。

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    while (true) {
        if (isAdded()) {
            new SyncGetLocations(this).execute();
            break;
        }
    }
}

你相信我选择了正确的解决方案吗?

标签: androiderror-handlingandroid-asynctask

解决方案


推荐阅读