更改 EditText.setError() 背景和错误消息 android
Posted
技术标签:
【中文标题】更改 EditText.setError() 背景和错误消息 android【英文标题】:Change EditText.setError() background and error message android 【发布时间】:2013-04-16 11:59:03 【问题描述】:我想更改无效电子邮件地址的错误消息的文本和背景颜色。我试过了,但我的短信没有显示任何内容。这是我的代码。
public class TextboxValidation
//validating email address
public static boolean validateEditText(EditText editText)
boolean valid = true;
Context context;
String text = editText.getText().toString();
boolean isEmail = (editText.getInputType() & InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS) == InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS;
boolean isNumeric = (editText.getInputType() & InputType.TYPE_NUMBER_FLAG_DECIMAL) == InputType.TYPE_NUMBER_FLAG_DECIMAL;
if (TextUtils.isEmpty(text))
if (!isNumeric || !TextUtils.isDigitsOnly(editText.getHint()))
valid = false;
else if (isEmail)
valid = android.util.Patterns.EMAIL_ADDRESS.matcher(text).matches();
if (!valid)
context = editText.getContext();
if (isEmail)
int ecolor = R.color.black; // whatever color you want
String estring = "Veuillez saisir une addresse email valide";
ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor);
SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring);
ssbuilder.setSpan(fgcspan, 0, estring.length(), 0);
editText.setError(ssbuilder);
else
editText.setError("Le champ ne peut etre vide.");
return false;
editText.setError(null);
return true;
【问题讨论】:
***.com/a/5232885/1168654 This 答案应该可以帮助您解决问题 查看我的答案:***.com/a/18974425/1318946 【参考方案1】:你可以这样做。
if (TextUtils.isEmpty(cashierid))
cid.setError(html.fromHtml("<font color='red'>Username can't be empty</font>"));
return;
else if (TextUtils.isEmpty(cashierpwd))
cpwd.setError(Html.fromHtml("<font color='red'>Password can't be empty</font>"));
return;
【讨论】:
【参考方案2】:您可以使用 HTML 字体标签更改文本颜色。
但是要自定义背景颜色,您应该制作自己的自定义弹出窗口。 欲了解更多信息,请通过此链接:- How to write style to error text of EditText in android?
【讨论】:
以上是关于更改 EditText.setError() 背景和错误消息 android的主要内容,如果未能解决你的问题,请参考以下文章