Edittext的seterror方法不显示

原创 2015年11月18日 15:31:56

Edittext的seterror方法可以用来提示输入显示一个tip来提示用户,比如输入的格式不正确。而有时候tip中显示的内容和背景的颜色相同导致看不到提示的文字,这个是和使用的样式有关。但修改样式既麻烦又有可能在其他地方带来新的问题。

使用Html格式文本

Android提供了Html.fromHtml()方法,可以将部分html语言片段转换成字符序列对象。同时setError(CharSequence c)方法的参数是字符序列对象,推荐使用Html格式文本加载进去,显示错误。
使用方法也比较简单:

CharSequence html1 = Html.fromHtml("<font color='blue'>出错</font>"); //任意长度内容均可
//Spanned html2 = Html.fromHtml("出错"); //纯文本不可取-内容将不会显示
editText.setError(html1);
//editText.setError(html2); 

需要注意的是:
1. 参数必须是CharSequence/Spanned类型变量;
2. fromHtml()方法参数必须包含HTML标准标签;
3. 报错内容不要过长,尽量简短,否则UI叠层架构中会出现覆盖现象,而导致不显示内容。
参考资料:http://bbs.csdn.net/topics/390304638

扩展

关于使用Html语言片段解决的方法比较简单实用,并且我们使用的聊天工具中输入框的表情也可以通过这种方式来解决。稍后会对表情相关的开发做一些研究,感兴趣的朋友可以持续关注。
迫不及待的同学可以先参考一下下面的资料(暂未试验):
http://www.iteedu.com/handset/android/spannablediary/showhtmlimage.php


[android] EditText的setError文字不显示问题

今天写代码,要edittext为空的时候给出提示,用android自带的setError函数,发现文本的颜色和背景的颜色相同,查了一下资料,贴出solution: 在  res/values...
  • yangmingysc
  • yangmingysc
  • 2013年01月25日 23:13
  • 9961

解决Android 中Edittext在执行setError时有时不显示文字

在使用EditText时可以使用setError来显示一个tip来提示用户,比如输入的格式不正确。而有时候tip中显示的内容和背景的颜色相同导致看不到提示的文字,这个是和使用的样式有关。但修改样式既麻...
  • wave_1102
  • wave_1102
  • 2016年02月18日 17:17
  • 863

Android中EditText的setError文字不显示的问题

现象 Android系统提供的控件EditText,使用其方法setError时,会出现错误框显示但是文字不显示的问题。原因是系统部分主题的setError文字和背景都是白色,例如系统自带的几个lig...
  • weiyanjie100
  • weiyanjie100
  • 2016年04月27日 19:40
  • 721

TextInputLayout的使用坑点

TextInputLayout是一个能够把EditText包裹在当中的一个布局,当输入文字时,它可以把Hint文字飘到EditText的上方。 主要坑点 引用design版本号不同导致使用方式不同 ...
  • qingdaohaoyunpeng
  • qingdaohaoyunpeng
  • 2016年07月15日 10:22
  • 2174

Android EditText密码显示隐藏和全部属性的介绍

这个很简单,一起来看看图和代码吧:    代码如下:    布局文件: ...
  • shenggaofei
  • shenggaofei
  • 2016年08月20日 17:06
  • 11618

Android之TextView、EditText控件显示表情图片

本来该篇博文
  • Joker_Ya
  • Joker_Ya
  • 2014年11月21日 21:18
  • 3074

EditText显示表情

EditText显示表情,ListView中的TextView显示表情,删除表情,图文混排
  • cool_fuwei
  • cool_fuwei
  • 2016年07月25日 21:15
  • 798

android editText自动弹出软键盘(输入键盘)

有一个界面有如下的需求:有一个textview上面显示的是400,我点击之后,弹出对话框,对话框中有一个输入框,将400传递过来也是显示400,当点击了textview,默认全选400,此时也同时有输...
  • omayyouhappy
  • omayyouhappy
  • 2015年10月13日 11:06
  • 13461

EditText单行、多行和自动换行显示内容

EditText单行、多行和自动换行显示内容      由于上述相关属性都来自继承的TextView,那么先说说TextView的单行、多行的应用场景: 1) TextVi...
  • HiGson
  • HiGson
  • 2016年12月17日 14:30
  • 2850

Android之禁止Edittext弹出软键盘并且使光标正常显示

如图:当使用EditText输入框时,总会自动弹出系统自带键盘。很多时候我们需要的是根据自定义控件输入改写输入框内容,因为需要把自带键盘屏蔽。 网上很多屏蔽系统键盘的方法...
  • LVXIANGAN
  • LVXIANGAN
  • 2016年05月31日 00:06
  • 2474
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Edittext的seterror方法不显示
举报原因:
原因补充:

(最多只允许输入30个字)