如何限制文本编辑的输入

时间:2012-06-30 07:40:58

标签: android android-edittext

我正在制作一个edittext,我想强制用户输入一个小于200的数字,我看到人们展示了如何限制字符数,但有人知道如何限制用户输入而不使用一个800节如果声明?即。用户可以输入1- 199之间的任何数字,但不能输入数字201。

3 个答案:

答案 0 :(得分:1)

我不清楚你是想将字段限制为少于200个字符,还是限制为小于200的数字值(例如“199”)。如果是后者,请设置属性android:inputType="number",然后向EditText添加OnFocusChangeListener,实现onFocusChange()方法以检查EditText的值,如果无效则更改/ alert / remove

答案 1 :(得分:1)

首先设置您的edittext输入类型编号,然后

 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("");
        }
    }

}); 

答案 2 :(得分:1)

Android的数字微调器/选择器

根据Android Time Picker Dialog中使用的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;

enter image description here