【问题标题】:How to show Error Popup for EditText correctly如何正确显示 EditText 的错误弹出窗口
【发布时间】:2021-10-22 09:56:44
【问题描述】:

我的问题是关于 Android/Java。

我的 main.xml:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:layout_width="wrap_content"
        android:ems="5"
        android:layout_height="wrap_content"
        android:id="@+id/mainEditText1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:id="@+id/mainButton1"/>

</LinearLayout>

我的 MainActivity.java:

b.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View v) {
                    e.setError("SO - Please enter a correct E-Mail!!!");
                }
            });

我的照片:

如您所见,我的问题如下:错误弹出窗口大于EditText的宽度。

但我希望错误弹出窗口的宽度与 EditText 相同或小于 EditText(包含几行)。

如何做到这一点?如何正确显示错误弹出窗口,而不是像我的图像显示的那样?

【问题讨论】:

    标签: java android android-edittext


    【解决方案1】:

    将您的 LinearLayout 更改为 ConstraintLayout。我的猜测是将错误消息添加到layout 中的下一个可用位置。如果在horizontal 模式下使用LinearLayout,它将把它放在button 的右侧。

    另一个好的答案是将EditText 包装在TextInputLayout 中,并设置TextInputLayout 的错误而不是EditText 的错误。

    我从这里得到的 How to fix EditText error possition in LinearLayout

    虽然答案没有投票,但我相信它是正确的。

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多