我有一個啓動AsyncTask的活動。這個AsyncTask在onPostExecute中使用AutoCompleteTextView.showDropDown()。問題是,當AsyncTask正在運行時,我按「返回」,應用程序在showDropDown()行拋出異常,因爲AsyncTask仍在使用AutoCompleteTextView。如何解決這個問題? (最好的方法)當AsyncTask使用小部件時,活動關閉
更新:我仍然不滿意sonykuba的解決方案。使用非最終靜態變量時,這不是一個好習慣。我想從活動中解耦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)