Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android编辑文本值约束_Android_Android Edittext - Fatal编程技术网

Android编辑文本值约束

Android编辑文本值约束,android,android-edittext,Android,Android Edittext,我希望我的EditText将接受给定范围内的浮点值,并且只接受小数点后的两位数字,比如0到99.99 在我的xml中,我包含了 android:inputType="numberDecimal" 请提供帮助。您应该将addTextChangedListener添加到编辑文本中 大概是这样的: editText.addTextChangedListener(new TextWatcher() { @Override public void af

我希望我的EditText将接受给定范围内的浮点值,并且只接受小数点后的两位数字,比如0到99.99

在我的xml中,我包含了

android:inputType="numberDecimal"

请提供帮助。

您应该将addTextChangedListener添加到编辑文本中 大概是这样的:

editText.addTextChangedListener(new TextWatcher() {


            @Override
            public void afterTextChanged(Editable arg0) {
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start,
                    int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start,
                    int before, int count) {

            }
        });
根据您的逻辑,您可以实现输入检查。例如:

public void afterTextChanged(Editable s) {

    String number = editText.getText().toString();
    if (number .length != 0) {
        int number  = Integer.parseInt(added_number);

        if (number > 99)
            Toast.makeText(getApplicationContext, "Not more than 99", Toast.LENGTH_SHORT).show();
    }

}
希望能有帮助。 如果您希望动态测试输入,则应该覆盖onTextChanged。
如果你愿意,我有一些示例代码参见EditText.setFilters似乎重复的已接受答案有奇怪的副作用…他需要的是过滤器。好的,阅读一些之后,过滤器是最简单的方法。