EditText相关知识
EditText将光标放在文本末尾
项目中总会有一些需求:点击输入框后将光标移至末尾,然后就可以继续输入
EditText中有个方法:setSelection(int index)
不过在实际使用过程中,这个方法并不会使EditText获得焦点并弹出系统键盘
这时可以搭配动态获取EditText的焦点并弹出键盘,代码如下:
nameEt.setCursorVisible(true);//设置光标可见
nameEt.setFocusable(true);//设置可获取焦点
nameEt.setFocusableInTouchMode(true);//设置触摸能获得焦点
nameEt.requestFocus();//请求获得焦点
nameEt.setSelection(nameEt.getText().length());//将光标移至文本末尾
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);//打开输入法窗口
imm.showSoftInput(nameEt,InputMethodManager.SHOW_FORCED);// 接受软键盘输入的控件
通过在EditText的点击监听里添加以上代码即可实现点击EditText光标移至末尾继续输入的功能。
EditText限制输入类型(如限制中文)
EditText中有个属性android:digits可以限制显示的字符,比如说
android:digits="0123456789"
就可以限制EditText只能输入0-9。
如何过滤中文
在strings.xml文件:加入如下代码
<string name="rule">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`¬!"£$%^*()~=#{}[];':,./?/*-_+<>@&</string>
然后对EditText设置属性android:digits="@string/rule"
即可限制EditText无法输入中文。