一些具体情况: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