【问题标题】:EditText error is not getting down when keyboard is disable禁用键盘时EditText错误没有下降
【发布时间】:2016-07-29 08:53:40
【问题描述】:

在我的布局中,我有 3 个带有验证条件的 EditText。当打开软键盘时,EditText 下方会显示错误消息。当它隐藏时,EditText 将向下移动错误消息仍然放置在布局的顶部。

我使用了 custom edittext 并且我的布局是在 scroll view 中仍然没有错误消息与编辑文本有关。

我有 3 个编辑文本和按钮,如果我们点击按钮,它将验证,如果一切正确,它将打开新活动。

else if in edit text data is not input error message display.It is process.

当键盘显示错误消息时显示。键盘获取隐藏编辑文本将回到它的位置,但错误消息仍然是布局的顶部。

【问题讨论】:

  • 在此处显示您的代码以获得更好的帮助
  • 它包含很多代码,如果你想我可以发布设置的错误代码。
  • 无需将整个应用程序放在这里,只需放一部分您需要更正的代码
  • @YBDevi 请发布您的代码和错误日志。我很困惑你除了做什么?
  • 当按钮点击它会验证并且错误信息显示代码是正常的。

标签: android android-layout android-edittext android-softkeyboard


【解决方案1】:

尝试在 xml 文件的滚动视图中给出这个

app:layout_behavior="@string/appbar_scrolling_view_behavior"

【讨论】:

  • 我相信你有 android.support.design.widget.TextInputLayout 作为你的 EditText 的父级
  • no parent is linear layout and layout in scrollview.
  • 请尝试类似 design.widget.TextInputLayout>
【解决方案2】:

这似乎是一个尚未修复的错误。但是,您可以通过继承 EditText 类(即自定义类)并实现其 onKeyPreIme 回调方法来解决此问题。

public boolean onKeyPreIme(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
        // User dismissed the keyboard, so hide and re-show the error message
        revalidateEditText();
        return false;
    }

    return super.dispatchKeyEvent(event);
}

public void revalidateEditText(){
       // Dismiss your original error dialog           
       setError(null);

       // Validate the content and re-show the error message if needed
       validate();
}

源自:Android: Error popup on EditText doesn't move down when keyboard goes away

请注意,通过实现onKeyPreIme,您可以在用户关闭软键盘时收到通知。

【讨论】:

  • 加一个表示这是一个尚未修复的错误。
  • 我是安卓新手。
  • @YBDevi 将这些方法复制并粘贴到您的子类EditText
  • k 我会试试这个如果它有效我会接受你的回答。这个问题没有其他解决方案。
  • 我不明白第一个 edittext 错误 msg 工作完美,当其他两个框错误放置在布局顶部时不会随着 edittext 向下移动。
猜你喜欢
  • 2012-05-25
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多