0

我正在制作一个编辑文本,我想强制用户输入小于 200 的数字,我见过有人展示如何限制字符数,但有谁知道如何在不使用 800 部分的情况下限制用户输入如果声明?IE。用户可以输入 1-199 之间的任何数字,但不能输入数字 201。

4

3 回答 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 回答