У меня есть TabActivity
с четырьмя вкладками (каждая из них имеет свою активность). Каждая вкладка определяет свой собственный onCreateOptionsMenu
(а в некоторых случаях onPrepareOptionsMenu
). Когда каждая вкладка загружена, AsyncTask
запускается для получения данных, необходимых для заполнения списка этой вкладки.
Если я переключаюсь между вкладками очень быстро (пока они все еще загружаются), а затем нажимаю кнопку меню (пока текущая вкладка AsyncApiTask
все еще работает), я могу отобразить меню неправильных опций.
Например, скажем, FooActivity
(вкладка 1) имеет меню параметров с элементом «Обновить», а BarActivity
(вкладка 2) имеет меню параметров с элементом «Просмотреть все». Если я запускаю приложение (с активной вкладкой 1), быстро переключаюсь на вкладку 2 и затем нажимаю меню, иногда отображается элемент «Обновить» (а не ожидаемый элемент «Просмотреть все»).
Кроме того, хотя это странное поведение иногда происходит только при первом нажатии меню (и последующие нажатия показывают правильные пункты), иногда оно «застревает», и неправильные элементы появляются при каждом нажатии, пока я не переключаю вкладки. *
Есть идеи, что может происходить? Я не слышал об этом раньше и не смог найти хороших предложений.