1
我在做一個應用程序,它使用新的Google Maps V2,當地圖相機移動時,我需要將點重新加載到新的相機位置,我用一個asynctask來完成。如何取消一個asyncTask並多次執行它?
問題是,當我多次移動相機位置時,應用程序會將點數加載倍數。所以,當相機移動時,我取消了異步任務,並且在任務被取消之前我不加載新點。我有一個空的while循環來做到這一點,有沒有更好的解決方案呢?
// LOAD NEW POIS ASYNC
private void updatePoisInMap(){
....
if (refresh_pois_async != null) {
refresh_pois_async.cancel(true);
while (!refresh_pois_async.isCancelled()) {
}
}
refresh_pois_async = new RefreshPoisAsync().execute(lowerLeftCorner, topRightCorner);
}