我目前有 2 项不同的活动需要一起工作。
我需要Activity #1
先做一些工作,然后打电话Activity#2
等待它完成,然后做一些不同的工作,然后暂停并Activity#2
再次打电话,......等等。
编辑:我不知道我在想什么,但我错过了这个拼出:每当我从 Activity 2 获得一些结果时,我都需要更新 Activity 1 的 UI,所以我决定将大部分代码放在 AsyncTask 中:
//class Activity#1:
onCreate(){
// creates UpdateUITask (the AsyncTask), pass its Context as parameter
}
onActivityResult()
{
// do something with result
}
// the AsyncTask
class UpdateUITask implements AsyncTask{
doInBackground(){
// uses the passed context to call startActivityForResult(Activity#2)
// this is done multiple times ***
}
publishProgress()
{
// update the UI of Activity #1
}
}
我的问题是我上面用*标记的内容实际上并没有被 startActivityForResult 暂停,而只有 Activity#1 是。因此,AsyncTask 创建了 Activity#2 的多个实例,这在我的情况下是不可取的。有没有办法克服这个问题?
对之前的不便深表歉意。