EditText相关知识

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`¬!"£$%^*()~=#{}[];':,./?/*-_+&#060;&#062;&#064;&#038;</string>

然后对EditText设置属性android:digits="@string/rule"即可限制EditText无法输入中文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值