android EditText 对输入字数和内容范围进行限制

在做定制机时,对光敏值进行范围控制时,以及对区号输入时遇到对输入字数以及输入内容的显示。找了好多方法,终于找到了几种方法其中EditText的addTextChangedListener功不可没。例如对光敏值要在0到61之间。大于61时要在输入框中自动变为61.代码如下:

edt.addTextChangedListener(new TextWatcher() {
String nums = null;

@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub

if (s != null && !s.equals("")) {
if (numSmall != -1 && numBig != -1) {//最大值和最小值自设
int a = 0;
try {
a = Integer.parseInt(s.toString());
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
a = 0;
}
if (a > 61)
edt.setText("61");
return;
}}
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
/*if (start == 4) {
nums = s.toString();
}*/
}

@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
/*
* Toast.makeText(getBaseContext(), s + "****" + start + "***" +
* before, 3000).show();
*/
if (start > 1) {
if (numSmall != -1 && numBig != -1) {
int num = Integer.parseInt(s.toString());
if (num > 61) {
s = "61";
}
return;
}}
}
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值