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...

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

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

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

在使用EditText时可以使用setError来显示一个tip来提示

TextInputLayout setError后影响EditText设定的自定义背景问题解决方法

如图所见的红色背景问题,困扰了一整天,终于今日喜见云开。。。因为在TextInputLayout setError方法源码中有 // Set the EditText's background t...

Edittext 设置setError()的详解

实现Edittext  的错误时的提示,错误图标的位置边距得在xml的EditText中设置drawablePadding设置       final EditText accountET = (Ed...

两种方法,针对EditText密码的显示和隐藏(包括激将光标移动到文本末尾)

package com.sunzhen.files; import android.text.Selection; import android.text.Spannable; impo...

Android实现Edittext显示下滑线的三种方法

付出终有回报,找准方向,努力向前 一、简介本文章主要介绍三种方式实现Edittext下方显示下滑线,各有利弊,可以根据情景自行选择,其中有关字体显示的基准线、行高相关的知识。此篇主要介绍正常模式下代码...

EditText中禁止输入中文的方法

介绍Android EditText中禁止输入中文,只允许输入英文,数字的方法。
  • ccpat
  • ccpat
  • 2015-06-26 18:21
  • 13644
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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