在PopupWindow中放置了一个EditText和一个button,点击button的时候会检查EditText,如果内容为空就使用setError()提示用户。这个时候如果只显示一个提示的icon就正常,但是当EditText onFocus的时候,应该会再弹出一个提示信息的气球,这时候就报错了……PopupWindow popup = new PopupWindow(SettingScreen.this);
popup.setWindowLayoutMode(FP, FP);
View view = getLayoutInflater().inflate(R.layout.set_new_password, null); final EditText edit_newLockCode = (EditText) view.findViewById(R.id.EditText_Setting_New_Chain);
final EditText edit_newConfirmLockCode = (EditText) view.findViewById(R.id.EditText_Setting_New_ConfirmChain);
Button btn_setNewLockCode = (Button) view.findViewById(R.id.Button_Setting_New_SetChain); popup.setContentView(view);
popup.setFocusable(true);
popup.showAsDropDown(blowTopUI); btn_setNewLockCode.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String newlockCode = edit_newLockCode.getText().toString().trim();
String newConfirmLockCode = edit_newConfirmLockCode.getText().toString().trim();
if (newlockCode == null|| newlockCode.length() == 0) {
edit_newLockCode.setError("Empty"); //当这个edittext聚焦时,此句报错
}
});报错信息:09-20 08:58:55.019: ERROR/AndroidRuntime(5196): Uncaught handler: thread main exiting due to uncaught exception
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44c5ccf0 is not valid; is your activity running?
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.setView(ViewRoot.java:468)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.Window$LocalWindowManager.addView(Window.java:424)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.PopupWindow.invokePopup(PopupWindow.java:821)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:754)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.TextView.showError(TextView.java:3311)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.TextView.onFocusChanged(TextView.java:6436)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.View.handleFocusGainInternal(View.java:2445)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.View.requestFocus(View.java:3562)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2400)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2338)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.handleMessage(ViewRoot.java:1641)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.os.Handler.dispatchMessage(Handler.java:99)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.os.Looper.loop(Looper.java:123)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.app.ActivityThread.main(ActivityThread.java:4363)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at java.lang.reflect.Method.invokeNative(Native Method)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at java.lang.reflect.Method.invoke(Method.java:521)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at dalvik.system.NativeStart.main(Native Method)个人理解是不是当前的activity被这个PopupWindow阻挡了,所以才会问“is your activity running?”,那个气球是不是也是类似一个PopupWindow之类的东西,在一个PopupWindow上是不能再显示另一个PopupWindow的?求教各位高手~拜谢~
popup.setWindowLayoutMode(FP, FP);
View view = getLayoutInflater().inflate(R.layout.set_new_password, null); final EditText edit_newLockCode = (EditText) view.findViewById(R.id.EditText_Setting_New_Chain);
final EditText edit_newConfirmLockCode = (EditText) view.findViewById(R.id.EditText_Setting_New_ConfirmChain);
Button btn_setNewLockCode = (Button) view.findViewById(R.id.Button_Setting_New_SetChain); popup.setContentView(view);
popup.setFocusable(true);
popup.showAsDropDown(blowTopUI); btn_setNewLockCode.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String newlockCode = edit_newLockCode.getText().toString().trim();
String newConfirmLockCode = edit_newConfirmLockCode.getText().toString().trim();
if (newlockCode == null|| newlockCode.length() == 0) {
edit_newLockCode.setError("Empty"); //当这个edittext聚焦时,此句报错
}
});报错信息:09-20 08:58:55.019: ERROR/AndroidRuntime(5196): Uncaught handler: thread main exiting due to uncaught exception
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44c5ccf0 is not valid; is your activity running?
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.setView(ViewRoot.java:468)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.Window$LocalWindowManager.addView(Window.java:424)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.PopupWindow.invokePopup(PopupWindow.java:821)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:754)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.TextView.showError(TextView.java:3311)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.widget.TextView.onFocusChanged(TextView.java:6436)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.View.handleFocusGainInternal(View.java:2445)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.View.requestFocus(View.java:3562)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2400)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2338)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.view.ViewRoot.handleMessage(ViewRoot.java:1641)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.os.Handler.dispatchMessage(Handler.java:99)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.os.Looper.loop(Looper.java:123)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at android.app.ActivityThread.main(ActivityThread.java:4363)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at java.lang.reflect.Method.invokeNative(Native Method)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at java.lang.reflect.Method.invoke(Method.java:521)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
09-20 08:58:55.053: ERROR/AndroidRuntime(5196): at dalvik.system.NativeStart.main(Native Method)个人理解是不是当前的activity被这个PopupWindow阻挡了,所以才会问“is your activity running?”,那个气球是不是也是类似一个PopupWindow之类的东西,在一个PopupWindow上是不能再显示另一个PopupWindow的?求教各位高手~拜谢~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货