EditText限制输入字符,超过限制光标位置在末端

mEdit.addTextChangedListener(new TextWatcher() {
private CharSequence temp;
private int selectionStart;
private int selectionEnd;


@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
temp = s;
}


@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub


}


@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
WEIBO_MAX_LENGTH = 140;
number = WEIBO_MAX_LENGTH - s.length();
selectionStart = mEdit.getSelectionStart();
selectionEnd = mEdit.getSelectionEnd();


if (temp.length() > WEIBO_MAX_LENGTH) {
s.delete(selectionStart - 1, selectionEnd);//超过则删除超过的字符
mEdit.setText(s);
Editable b = mEdit.getText();//设置光标在末端
mEdit.setSelection(b.length());
}
mTextSizes.setText("还剩余" + number + "个字符");
}
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值