android项目中edittext的一些总结
2014-01-14 14:16
477 查看
1 EditText可以设置接受各式各样的字符,通过过滤指定的字符来满足不同应用的输入和显示要求。
通过xml配置:
android:InputType
number 接受整数输入
numberSigned 接受有符号整数输入
numberDecimal 接受整数和小数的输入
android:digits
指定接受固定的数字,如android:digits="012345",则只接受0~5数字的输入
android:numberic
integer 接受整数输入
signed 接受有符号整数输入
decimal 接受整数和小数输入
通过java代码设置
其实以上3个属性,功能有点重复,最终都是通过java代码来对TextView设置KeyListener
KeyListener是一个接口,提供了对输入键盘按键的监听
InputFilter是一个接口,提供了对字符的过滤
android提供了实现了KeyListener和InputFilter的NumberKeyListener,而DigitsKeyListener继承了NumberKeyListener
[c-sharp] view
plaincopy
EditText et = new EditText(context);
//只接受整数输入
KeyListener l = new DigitsKeyListener(fasle,false);
//接受有符号整数输入
KeyListener l = new DigitsKeyListener(true,false);
//接受小数,整数输入
KeyListener l = new DigitsKeyListener(false,true);
//接受有符号整数/小数输入
KeyListener l = new DigitsKeyListener(true,true);
et.setKeyListener(l);
如果想要实现更大自由度的过滤定制,可以自己写一个KeyListener(继承BaseKeyListener)并实现InputFilter,重写filter()函数,在filter()函数里可以实现自由的过滤。
2 监听EditText的变化
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
开发者可以使用此方法监听用户输入字符的个数,或者对用户输入的内容进行实时监测等。
通过xml配置:
android:InputType
number 接受整数输入
numberSigned 接受有符号整数输入
numberDecimal 接受整数和小数的输入
android:digits
指定接受固定的数字,如android:digits="012345",则只接受0~5数字的输入
android:numberic
integer 接受整数输入
signed 接受有符号整数输入
decimal 接受整数和小数输入
通过java代码设置
其实以上3个属性,功能有点重复,最终都是通过java代码来对TextView设置KeyListener
KeyListener是一个接口,提供了对输入键盘按键的监听
InputFilter是一个接口,提供了对字符的过滤
android提供了实现了KeyListener和InputFilter的NumberKeyListener,而DigitsKeyListener继承了NumberKeyListener
[c-sharp] view
plaincopy
EditText et = new EditText(context);
//只接受整数输入
KeyListener l = new DigitsKeyListener(fasle,false);
//接受有符号整数输入
KeyListener l = new DigitsKeyListener(true,false);
//接受小数,整数输入
KeyListener l = new DigitsKeyListener(false,true);
//接受有符号整数/小数输入
KeyListener l = new DigitsKeyListener(true,true);
et.setKeyListener(l);
如果想要实现更大自由度的过滤定制,可以自己写一个KeyListener(继承BaseKeyListener)并实现InputFilter,重写filter()函数,在filter()函数里可以实现自由的过滤。
2 监听EditText的变化
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
开发者可以使用此方法监听用户输入字符的个数,或者对用户输入的内容进行实时监测等。
相关文章推荐
- Android EditText不弹出输入法焦点问题的总结
- Android EditText常见方法总结
- 最近一年做Android项目过程中,对其的一些注意事项(优化)以及问题总结(一)
- Android EditText不弹出输入法总结,焦点问题的总结
- Android EditText限制输入字符类型的方法总结
- QT TextEdit的一些总结
- Android控件用法总结之EditText
- Android项目EditText焦点问题
- Android EditText不弹出输入法总结,焦点问题的总结
- android开发中控件editText对应的inputType的类型总结
- Android EditText用法及焦点处理总结
- Android——EditText自定义边框、圆角和其常用属性总结
- Android EditText不弹出输入法焦点问题的总结
- Android EditText限制输入字符的方法总结
- Android自学笔记之 EditView和TextView的一些属特殊性
- 16-Android界面控件之EditText的一些属性
- Android EditText总结
- 有关Android中EditText的一些属性
- Android edittext 键盘 弹出问题总结
- Android EditText限制只能输入特定字符总结