私は現在、一緒に取り組む必要がある 2 つの異なる活動を行っています。
最初にいくつかActivity #1
の仕事をしてから、電話Activity#2
してそれが完了するまで待ってから、別の仕事をしてから、一時停止してもう一度電話する
必要Activity#2
があります...など.
整理: アクティビティ 2 から何らかの結果が得られるたびに、アクティビティ 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 の複数のインスタンスを作成しますが、これは私の場合は望ましくありません。この問題を克服する方法はありますか?
前回はご迷惑をおかけしました。