我有一個從Activity1和Activity2調用的AsyncTask,現在可見。從Activity2我正在運行AsyncTask和AsyncTask必須查詢光標在我的Activity2中的一些更改。如何從AsyncTask查詢另一個活動中的遊標?
如何從AsyncTask驗證Activity2是否可見並且請求光標?
我有一個從Activity1和Activity2調用的AsyncTask,現在可見。從Activity2我正在運行AsyncTask和AsyncTask必須查詢光標在我的Activity2中的一些更改。如何從AsyncTask查詢另一個活動中的遊標?
如何從AsyncTask驗證Activity2是否可見並且請求光標?
我有點困惑 - >你想重新查詢一個遊標,那不是在你的AsyncTask中,而是在你的Activity中?不要使用AsyncTasks來完成在單獨的線程中進行數據庫查詢嗎?那麼,爲什麼你想這樣做呢?在如何(嘗試)主題檢測,如果你的活動是可見的,已經有一個answer
編輯:
你應該定義的AsyncTask爲私有類的活動(我假設你沒有像對於Activity1)。除了doInBackground()之外,AsyncTask中的所有方法都在您定義任務的活動的UI線程上執行。 您不必直接調用onProgressUpdate(),而必須使用publishProgress(),但我認爲您不能從你的Activity2中調用它。
我不確定你到底想要達到什麼目的,但也許你應該考慮看Handlers。
My ** AsyncTask **加載數據庫中的所有信息。在此期間,我可以打開** Activity2 **並告訴我的** AsyncTask **首先爲** Activity2 **加載信息。 ** AsyncTask **創建它並且必須在我的** Activity2 **中調用**方法**(_in onProgressUpdate_)**(_方法將在Activity2_中重新創建/重新查詢光標)。 – Sviatoslav
+1爲有趣的用例。通常,AsyncTask的整個生命週期都綁定到一個特定的活動(私有內部類)。考慮在Activity2中爲查詢遊標使用單獨的AsyncTask。 – yorkw