4 つのタブがありTabActivity
ます (それぞれが独自のアクティビティです)。各タブは独自のonCreateOptionsMenu
(場合によってはonPrepareOptionsMenu
) を定義します。各タブが読み込まれると、AsyncTask
そのタブのリストに入力するために必要なデータを取得するために が開始されます。
タブを非常にすばやく切り替えて (読み込み中)、メニュー ボタンを押すと (現在のタブAsyncApiTask
がまだ実行中)、間違ったオプション メニューが表示されることがあります。
たとえば、FooActivity
(タブ 1) には「更新」項目のあるオプション メニューがあり、BarActivity
(タブ 2) には「すべて表示」項目のあるオプション メニューがあるとします。(タブ 1 がアクティブな状態で) アプリを起動し、すぐにタブ 2 に切り替えてからメニューをクリックすると、(予期される「すべて表示」項目ではなく) 「更新」項目が表示されることがあります。
さらに、この奇妙な動作は、最初にメニューを押したときに発生することがありますが (後で押すと正しい項目が表示されます)、「スタック」して、タブを切り替えるまで押すたびに間違った項目が表示されることがあります。
何が起こっているのでしょうか?このようなことは聞いたことがなく、良い提案を見つけることができませんでした。