Android中EditText的错误消息显示

原创 2016年08月28日 18:23:32

EditText的错误消息显示,可以在EditText的下方弹出一个Popupwindow,有很好的用户体验,
先看一下效果图:

这里写图片描述

下面我们为大家介绍一下有三种方式设置:

MainActivity中:

package com.example.mac.seterrordemo;

import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText editText;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = (EditText) findViewById(R.id.et);
        button = (Button) findViewById(R.id.btn);
        button.setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn:
                if (editText.getText().toString().equals("")) {
                    //1.设置自定义文字
                    editText.setError("输入框不能为空");
                    //2.设置自定义文字和图标
                    Drawable d = getResources().getDrawable(R.drawable.baby);
                    d.setBounds(0, 0, 100, 100); //必须设置大小,否则不显示
                    editText.setError("有错误提示", d);
                    //3.设置文字及颜色
                    editText.setError(Html.fromHtml("<font color=#00ffff>字体颜色设置</font>"));
                }
                break;
        }
    }
}

MainActivity的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.mac.seterrordemo.MainActivity">

    <EditText
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/et"
        android:text="按钮" />
</RelativeLayout>

本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,希望大家一起学习进步!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android EditText 手机号码分段显示

  • 2016年09月12日 10:46
  • 31.06MB
  • 下载

Android 利用handler发送消息:"This message is already in use"错误

问题出现的情况是,我在接收线程接收到消息后,需要发送到不同的页面,然后,就直接调用了各个页面的handler来发送了,结果报错,翻译过来也就是这个message已经用了,我解决的办法是给每个页面发送消...
  • Lu_Ca
  • Lu_Ca
  • 2017年08月02日 11:44
  • 168

android EditText中显示图片

  • 2012年07月09日 09:33
  • 2KB
  • 下载

jquery.validate 自定义错误消息的显示方式--4

默认情况下,验证提示信息用label元素来显示, 并且会添加css class, 通过css可以很方便设置出错控件以及错误信息的显示方式。 /* 输入控件验证出错*/ form input....
  • turbocc
  • turbocc
  • 2012年07月21日 16:53
  • 13087

18.struts2_类型转换,错误消息的显示和定制

从一个HTML表单到Action对象,类型转换的是从字符串到非字符串。 struts2把请求参数映射到action属性的工作由Parameters拦截器负责,可以完成字符串与基本类型之间的转换。...

Struts2_类型转换错误消息的显示和定制

类型转换概述 从一个HTML表单到一个Action对象,类型转换是从字符串到非字符串 --HTTP没有“类型”的概念,每一项表单输入只可能是一个字符串或一个字符串数组。在服务器端,必须把Str...
  • Mrwuyi
  • Mrwuyi
  • 2016年05月25日 17:50
  • 1084
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中EditText的错误消息显示
举报原因:
原因补充:

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