歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android EditText 對輸入字數和內容范圍進行限制

Android EditText 對輸入字數和內容范圍進行限制

日期:2017/3/1 10:05:01   编辑:Linux編程

在做定制機時,對光敏值進行范圍控制時,以及對區號輸入時遇到對輸入字數以及輸入內容的顯示。找了好多方法,終於找到了幾種方法其中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;
} }
}
});

Copyright © Linux教程網 All Rights Reserved