Android EditText显示错误信息

在App开发的过程中,有时需要对输入信息做信息进行过滤并提示用户。例如在使用EditText时,用户输入信息有误,友好的交互是提示用户。当然提示方式有很多,例如:Toast,Dialog,自定义效果等。其实EditText有一个继承自TextView的一个setError方法,来看看是什么效果吧。

UI效果:


 说明:

  • Set:设置错误信息,含有默认图片;
  • Set with icon:设置含有自定义图片的错误信息;
  • Clear:清除错误信息;

点击Set后效果:



 

点击Set with icon效果:



 

点击Clear效果:



 

代码:

public class TestEditTextActivity extends Activity implements OnClickListener {
    
	private EditText editText;
	private Button setButton;
	private Button setWithIconButton;
	private Button clearButton;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        editText = (EditText) findViewById(R.id.editText1);
        
        setButton = (Button) findViewById(R.id.button1);
        setButton.setOnClickListener(this);
        
        setWithIconButton = (Button) findViewById(R.id.button3);
        setWithIconButton.setOnClickListener(this);
        
        clearButton = (Button) findViewById(R.id.button2);
        clearButton.setOnClickListener(this);
        
    }

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.button1:
	        editText.setError(editText.getText());
			break;
		case R.id.button2:
			editText.setError(null, null);
//			editText.setError(null);
			break;
		case R.id.button3:
			Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
	        drawable.setBounds(0, 0, 20, 20);
	        editText.setError(editText.getText(), drawable);
			break;
		default:
			break;
		}
	}

}

 说明:

  • 设置错误信息是通过EditText的setError方法;
  • 清除错误信息时,同样是调用setError方法,此时参数为null即可;
  • 无论图片是否默认,清除的两个方法可以任意使用;

多说一句:EditText还有许多其它属性,在此不做赘述!:)

猜你喜欢

转载自wangleyiang.iteye.com/blog/1772939