Android 群集标记在异步任务完成后才会显示

Android 群集标记在异步任务完成后才会显示,android,google-maps,android-asynctask,Android,Google Maps,Android Asynctask,我的应用程序的工作原理如下: 1- OnCreate: creates a google map 2- OnStart: add cluster items from sqlite database and show them on map 3- OnResume: an asynctask updates the sqlite database getting the data from internet and refreshes the activity 一切都很好,但如果用户在低互联网

我的应用程序的工作原理如下:

1- OnCreate: creates a google map
2- OnStart: add cluster items from sqlite database and show them on map
3- OnResume: an asynctask updates the sqlite database getting the data from internet and refreshes the activity
一切都很好,但如果用户在低互联网连接的情况下使用应用程序,并在异步完成之前通过旋转屏幕重新启动活动,则会重新创建映射,但标记在异步完成后才会显示

当然,无论异步是否完成,我都希望始终显示标记

我认为对这种行为有一个理论上的解释,所以也许我不需要发布任何代码,但是如果你需要一些代码,请向我索取

谢谢大家!

编辑:

protected void onStart(){
    super.onStart();
    updateMarkers();
    }

public void updateMarkers(){

        mClusterManager.clearItems();

        String[] campos = new String[] { "id", "lat", "longi" };
        String[] arg = new String[] {"borrado"};

        Cursor c = db.query("Sordos", campos, "estado <> ?", arg, null, null, null);


        if (c.moveToFirst()) {
            // Recorremos el cursor hasta que no haya más registros
            do {
                int id = c.getInt(0);
                String lat = c.getString(1);
                String longi = c.getString(2);


                Double l1 = Double.parseDouble(lat);
                Double l2 = Double.parseDouble(longi);

                MyItem offsetItem = new MyItem(new LatLng(l1, l2), id);

                mClusterManager.addItem(offsetItem);

            } while (c.moveToNext());

            mClusterManager.cluster();
        }
}

mClusterManager.cluster;可能有帮助吗?没有。在asynctask完成之前,与ClusterManager相关的一切似乎都不起作用。您的问题似乎出现在活动的开始阶段。你们能展示一下吗?读到这个问题就解决了:哦,所以这是遗嘱执行人的问题。干得好