У меня есть действие, которое запускает AsyncTask.Этот AsyncTask использует AutoCompleteTextView.showDropDown () в onPostExecute.Проблема в том, что когда AsyncTask работает, я нажимаю «Назад» и приложение выдает исключение в строке showDropDown (), потому что AsyncTask все еще использует AutoCompleteTextView.Как решить эту проблему?(лучший способ)
Обновление: Я до сих пор не удовлетворен решением соникуба.Это не очень хорошая практика при использовании не финальной статической переменной.Я хочу отделить AsyncTask от действия, но не могу придумать более подходящих решений для этого.
Обновление: Добавить исключение
09-05 13:41:05.536: ERROR/AndroidRuntime(962): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.view.ViewRoot.setView(ViewRoot.java:505)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.view.Window$LocalWindowManager.addView(Window.java:424)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.widget.PopupWindow.invokePopup(PopupWindow.java:828)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:740)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1207)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at com.megadict.business.recommending.RecommendTaskInitializer$2.onPostExecute(RecommendTaskInitializer.java:58)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at com.megadict.business.recommending.AbstractRecommendTask.onPostExecute(AbstractRecommendTask.java:29)
09-05 13:41:05.536: ERROR/AndroidRuntime(962): at com.megadict.business.recommending.RecommendTask.onPostExecute(RecommendTask.java:37)