我正在制作一个编辑文本,我想强制用户输入小于 200 的数字,我见过有人展示如何限制字符数,但有谁知道如何在不使用 800 部分的情况下限制用户输入如果声明?IE。用户可以输入 1-199 之间的任何数字,但不能输入数字 201。
问问题
1925 次
3 回答
1
我不清楚您的意思是将字段限制为少于 200 个字符,还是限制为小于 200 的数值(例如“199”)。如果是后者,则设置属性android:inputType="number"
,然后OnFocusChangeListener
在 EditText 中添加一个,实现onFocusChange()
检查 EditText 值的方法,如果无效则更改/警报/删除。
于 2012-06-30T07:59:00.910 回答
1
首先设置你的编辑文本输入类型编号,然后
edittext.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){
String strEnteredVal = edittext.getText().toString();
if(!strEnteredVal.equals("")){
int num=Integer.parseInt(strEnteredVal);
if(num<200){
edittext.setText(""+num);
}else{
edittext.setText("");
}
}
});
于 2012-06-30T08:03:40.253 回答
1
适用于 Android 的数字微调器/选择器
根据 Android 时间选择器对话框中使用的 Google 内部数字微调器(尚未公开),找到了一个方便的 Android 数字微调器。
它是在 Apache 2.0 下发布的,可以找到
http://www.quietlycoding.com/?p=5
有
mStart = DEFAULT_MIN;mEnd = DEFAULT_MAX;
在 java 文件的顶部,我已经声明了 DEFAULT_MAX 和 DEFAULT_MIN:
private static final int DEFAULT_MAX = 200;
private static final int DEFAULT_MIN = 0;
于 2012-06-30T08:03:58.897 回答