したがって、私のプログラムには、2 つのタブを含む TabActivity があります。1 つのタブは ListView で、もう 1 つは Intent を介して開始される MapActivity です。私のアプリでやりたいことは、電話の場所と製品の名前を含むクエリを送信し、この製品を持っている最寄りのショップのリストを取得し、それらのショップをマップタブに表示し、それらのリストを別のタブに表示することです. アプリは、TabActivity が開始されると場所のリッスンを開始し、サーバーとの通信 (AsyncTask 内) は場所が取得されるとすぐに開始されます。
問題は、TabActivity が開始すると、最初のタブにあるため MapActivity も開始し、MapActivity はマップにオーバーレイを追加しようとし始めますが、TabActivity の AsyncTask が終了していないため、これらのオーバーレイのデータがまだないことです。サーバーからデータをまだ取得していないため、プログラムがクラッシュします。
TabActivity が最初に開かれたときにアプリで空の Google マップを表示し、サーバーからデータが取得されるのを待ってから、マップにオーバーレイを追加してショップをマークする必要があります。どうすればこれを達成できるか教えてもらえますか? MapActivity の onCreate からコードのオーバーレイ作成部分を削除し、別の場所に配置する必要があると思いますが、どこにあるのかわかりません。