一些具體情況:asynctask onActivityResult後執行onResume
我有兩個Activities
。 FirstActivity
從網絡(〜100 kb)加載數據並能夠啓動SecondActivity
到startActivityForResult()
。在得到結果後,應該觸發另一個網絡呼叫。除了表演之外,所有這些工作都很好。這是問題。
我觸發來自onActivityResult()
,或onResume()
或onPostResume()
AsyncTask
。我預計SecondActivity
完成,FirstActivity
得到顯示和ProgressBar
顯示,表明我的下載工程。而是我看到以下內容:
SecondActivity
凍結時,FirstActivity
被推出(我看到它在日誌),AsyncTask
觸發,當AsyncTask
完成了它的工作FirstActivity
只獲取顯示!
這也很奇怪,因爲我在第一次啓動FirstActivity
時使用完全相同的代碼,並且所有工作都按預期工作。
所以,問題:
是什麼啓動從onCreate()
和onActivityResult()
AsyncTask
之間的區別?爲什麼android的行爲如此?它是否具體版本?
非常感謝。
某些代碼:
活動A(第一):
void onCreate() {
super.onCreate();
setupUI();
code = 1;
launchLoading(code);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
launchLoading(resultCode);
}
活動B(第二):
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
setResult(i);
finish();
}
});
UPD:
創建的列表自定義視圖(〜50)onPostExecute()方法。爲什麼它會造成麻煩?
提供您的AsyncTask類的代碼 - 您的問題很可能是由'onPostExecute(..)'方法的錯誤實現導致的 – 2012-01-09 09:40:18
感謝您的意見。我在onPostExecute()方法中找到一行導致問題。我打算調查一下。我會用細節更新這個問題。 – 2012-01-09 09:53:23
更新了帖子。 – 2012-01-09 10:30:37