Android-EditText控制輸入範圍在0~100之間
阿新 • • 發佈:2019-02-16
需求是,在EditText中輸入數字,而且數字範圍在0到100。貼出程式碼如下:
edit.addTextChangedListener(new TextWatcher(){
int l=0;////////記錄字串被刪除字元之前,字串的長度
int location=0;//記錄游標的位置
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
l=s.length();
location=edit.getSelectionStart();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
Pattern p = Pattern.compile("^(100|[1-9]\\d|\\d)$" );
Matcher m =p.matcher(s.toString());
if(m.find() || ("").equals(s.toString())){
System.out.print("OK!");
}else{
System.out.print("False!");
Toast.makeText(context, "請輸入正確的數值", Toast.LENGTH_SHORT).show();
}
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}});
xml中新增
android:inputType="number"