我有兩個活動「EventsList」,它擴展了ListView
和一個「CreateEvent」活動。用戶可以從列表中選擇「事件」並在CreateEvent活動中編輯它們。當用戶點擊保存CreateEvent時,會產生一個AsycTask將數據傳遞給Web服務,獲取響應並將響應解析到數據庫中。從AsyncTask更新一個列表視圖產生在另一個活動
我的問題是我不知道如何將結果從AsycTasks onPostExecute()
傳達給EventsList活動。我試着刷新StartActivityForResult
的列表,但是這個線程通常還沒有完成。
那麼,如何將AsyncTask(由CreateEvent產生)的結果傳遞給EventsList活動?我沒有嘗試使用自定義回調。
編輯
我真的不熱衷於使用全局標誌或adapter
。我確信這最好是用某種方式使用回調/監聽器完成的。這樣,只有在絕對必要時纔會更改或通知列表。
StartActivityForResult()似乎是更好的方法。可能的解決方法是在您的CreateEventActivity中,在啓動AsyncTask後不要立即返回EventsListActivity,而是顯示用戶ProgressDialog,等待AsyncTask完成,在CreateEventActivity中設置setResult(),然後返回EventsListActivity,不確定這是否工作正常值得去嘗試。 – yorkw