关于EditText禁止输入空格的方法
2015-11-06 09:19
211 查看
可以在EditText 上添加一个 addTextChangedListener监听
然后用户在输入的时候就可以监听到他输入的字符串是否包含空格了
如果发现空格的话我们将他用split截取这样所有空格就都会被截取掉
然后利用for循环将截取后不包含空格的字符串数组重新排列这样这个字符串就不包含空格了
然后将这个字符串重新写入EditText
这时会出现一个问题就是光标会自动跳转到第一个位置
在onTextChanged中会有一个叫做start的变量他会传入在这个空格输入之前的光标位置
利用EditText.setSelection(int)来改变光标的位置详细代码如下
然后用户在输入的时候就可以监听到他输入的字符串是否包含空格了
如果发现空格的话我们将他用split截取这样所有空格就都会被截取掉
然后利用for循环将截取后不包含空格的字符串数组重新排列这样这个字符串就不包含空格了
然后将这个字符串重新写入EditText
这时会出现一个问题就是光标会自动跳转到第一个位置
在onTextChanged中会有一个叫做start的变量他会传入在这个空格输入之前的光标位置
利用EditText.setSelection(int)来改变光标的位置详细代码如下
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et = (EditText) findViewById(R.id.et); et.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().contains(" ")) { String[] str = s.toString().split(" "); String str1 = ""; for (int i = 0; i < str.length; i++) { str1 += str[i]; } et.setText(str1); et.setSelection(start); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); }
相关文章推荐
- uvalive 6680 - Join the Conversation 动态规划
- 散列表实现
- Matlab与C++混合编程,添加OpenCV库
- Android实现点击通知栏后,先启动应用再打开目标Activity
- DevExpress的gridcontrol中列自定义数据类型和算法
- Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式
- 数据库无法登录问题
- 【读书笔记】iOS网络-错误处理的经验法则
- mysql 循环插入记录
- 【读书笔记】iOS网络-错误处理的经验法则
- SpringMVC的Hello World
- windows磁盘占有率高问题解决方法
- POP3启用LDAP实现自动加载邮件通讯录的过程
- Jquery知识点
- Unity与android交互错误集合
- ssh中 vo层的使用
- 第10周项目1 二叉树算法库
- AppCan学习笔记(2)-UI控件
- CentOS下搭建LAMP环境详解
- Android中selector的使用