android edittext seterror,android – EditText setError在PopupWindow中不起作用

在尝试使用editError方法在自定义布局的弹出窗口中显示EditText错误消息时,遇到了android.view.WindowManager$BadTokenException异常。问题出现在调用setError方法时,可能由于活动状态不正确导致。异常堆栈跟踪详细列出了问题发生的路径,涉及PopupWindow、Editor和TextView的相关操作。
摘要由CSDN通过智能技术生成

我有自定义布局的弹出窗口,其中包含edittext.我试图用editError方法在edittext中显示错误消息,但是它给出了以下异常.

android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@211ffd68 is not valid; is your activity running?

at android.view.ViewRootImpl.setView(ViewRootImpl.java:579)

at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:282)

at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)

at android.widget.PopupWindow.invokePopup(PopupWindow.java:1104)

at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1008)

at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:968)

at android.widget.Editor.showError(Editor.java:334)

at android.widget.Editor.setError(Editor.java:355)

at android.widget.TextView.setError(TextView.java:4654)

at android.widget.TextView.setError(TextView.java:4639)

at com.ebusiness.worldofjobs.helpers.HelperEditText.isEmailValid(HelperEditText.java:38)

at com.ebusiness.worldofjobs.activities.LoginActivity$4$2.onClick(LoginActivity.java:149)

at android.view.View.performClick(View.java:4785)

at android.view.View$PerformClick.run(View.java:19884)

at android.os.Handler.handleCallback(Handler.java:739)

at android.os.Handler.dispatchMessage(Handler.java:95)

at android.os.Looper.loop(Looper.java:135)

at android.app.ActivityThread.main(ActivityThread.java:5343)

at java.lang.reflect.Method.invoke(Native Method)

at java.lang.reflect.Method.invoke(Method.java:372)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

弹出窗口:

View popupView = LayoutInflater.from(LoginActivity.this).inflate(R.layout.popup_reset_password,null);

EdiText etSmaple = (EditText) popupView.findViewById(R.id.etSmample);

Button buttonSample = (Button) popupView.findViewById(R.id.buttonSample);

final PopupWindow popupWindow = new PopupWindow(popupView,600,400);

popupWindow.setFocusable(true);

buttonSample.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// Here's the exception raising

etSample.setError("Nothing...");

}

});

popupWindow.showAtLocation(popupView,Gravity.CENTER,0);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值