Android编辑文本设置错误消息出现在导航抽屉上方

5

在编辑文本的验证错误时,我使用set error功能向用户显示输入错误的原因。

如果错误消息正在显示,并且用户打开导航抽屉,则错误消息会显示在导航抽屉的顶部。

有什么想法可以让错误消息显示在导航抽屉后面?

谢谢

2个回答

2
一个看起来快速而简单的解决方案是在导航抽屉打开时请求焦点,从而消除编辑文本框中的弹出错误消息(因为它失去了焦点),但编辑文本框中的错误图标仍然存在。

0
在我的情况下,我也遇到了同样的问题。我想出了以下解决方案,在您的MainActivity(其中包含导航抽屉)中添加以下代码。
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        View v = getCurrentFocus();
        if ( v instanceof EditText) {
            Rect outRect = new Rect();
            v.getGlobalVisibleRect(outRect);
            if (!outRect.contains((int)event.getRawX(), (int)event.getRawY())) {
                v.clearFocus();
            }
        }
    }
    return super.dispatchTouchEvent(event);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接