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相关的一切似乎都不起作用。您的问题似乎出现在活动的开始阶段。你们能展示一下吗?读到这个问题就解决了:哦,所以这是遗嘱执行人的问题。干得好