我要在“活动”开始时打开下拉列表。我使用以下代码:
mAutoCompleteTextView.requestFocus();
mAutoCompleteTextView.showDropDown();
mAutoCompleteTextView不为null。
我发现了这个异常:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.DriverNotes.AndroidMobileClient/com.DriverNotes.AndroidMobileClient.RefillActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
at android.app.ActivityThread.access$800(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5118)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:566)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.widget.PopupWindow.invokePopup(PopupWindow.java:1071)
at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:977)
at android.widget.ListPopupWindow.show(ListPopupWindow.java:641)
at android.widget.AutoCompleteTextView.showDropDown(AutoCompleteTextView.java:1096)
at com.DriverNotes.AndroidMobileClient.RefillActivity.initFields(RefillActivity.java:792)
at com.DriverNotes.AndroidMobileClient.RefillActivity.onCreate(RefillActivity.java:171)
我捕获了此异常,因为我尝试在onCreate()方法中调用showDropDown()。在此方法中,活动未启动,并且AutoCompleteTextView无法附加到Acivity。我将此代码用于带有AutoCompletetextView中项目的打开列表:
mAutoCompleteTextView.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
mAutoCompleteTextView.showDropDown();
}
}
});
启动活动后,mAutoCompletetextView会获得焦点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句