如何在弹出窗口中显示输入错误?
我想在弹出窗口中显示 EdiText
字段的所有验证错误,如下图所示:
据我所知Android有drawables:
1) popup_inline_error.9.png
2) popup_inline_error_above.9.png
3)indicator_input_error.png
我能够在 右侧显示红色错误指示器EditText
通过使用:
Drawable err_indiactor = getResources().getDrawable(R.drawable.indicator_input_error);
mEdiText.setCompoundDrawablesWithIntrinsicBounds(null, null, err_indiactor, null);
现在我也想显示错误消息,如图所示是第一张图片,但似乎我对此没有任何想法,尽管我认为它应该是一个自定义 Toast。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
由于前面的答案是我的问题的解决方案,但我尝试了一种不同的方法来使用自定义 Drawable 图像而不是默认的
indicator_input_error
图像。默认可绘制
自定义可绘制
因此,我刚刚在布局 xml 文件中创建了两个
EditText
,然后在该EditText
上用 Java 代码实现了一些Listener
>。main.xml
EditTextValidator.java
现在我已经对其进行了测试,如下所示:
假设用户单击
用户名
字段,然后软键盘打开,如果用户按下一步
键,则用户将聚焦于密码
字段和Username
字段保持为空,则错误将显示如下图所示:1) 我在用户名字段中输入文本
vikaS
,然后错误将如下图所示:2) 我在密码字段中输入文本
Password1
,然后错误将如下图所示:注意:
这里我仅在用户将 EditText 字段留空并按键盘上的 Next 键的情况下使用自定义绘图,但您可以在任何情况下使用它。只需要在
setError()
方法中提供Drawable
对象即可。As the earlier answer is solution for my problem but I have tried a different approach to use a custom Drawable image instead of default
indicator_input_error
image.Default Drawable
Custom Drawable
So, I have just created two
EditText
in my layout xml file and then implemented someListener
in Java code on thatEditText
.main.xml
EditTextValidator.java
Now I have tested it like:
Suppose user click on the
Username
field then Softkeybord opens and if user pressNext
key then the user will be focused to thePassword
field andUsername
field remains empty then the error will be shown like as given in below images:1) I type the text
vikaS
in Username field then error will be like as given in below image :2) I type the text
Password1
in password field then error will be like as given in below image :Note:
Here I have used custom drawable only in case of when user left the EditText field blank and press Next key on key board but you can use it in any case. Only you need to supply
Drawable
object insetError()
method.请尝试以下操作:
Try the following:
我知道答案已被提问者接受,但以上内容都不适合我。
我能够在运行 Android 4.0.3 的 Nexus S 上重现这一点。
这是我让它发挥作用的方法。
创建主题:
将
MyApp.Theme.Light.NoTitleBar
主题从清单应用到我的应用程序/活动。<前><代码> <应用程序
android:name=".MyApp"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyApp.Theme.Light.NoTitleBar"
>
I know answer has been accepted by the asker, but none of the above worked for me.
I was able to reproduce this on my Nexus S running Android 4.0.3.
Here's how I made it work.
Create a theme with:
Apply
MyApp.Theme.Light.NoTitleBar
theme to my application / activity from manifest.