Android EditText值约束

时间:2014-02-23 12:40:10

标签: android android-edittext

我希望我的EditText接受来自给定范围的浮点值,并且只接受小数点后的两位数,例如0到99.99

在我的xml中,我已经包含了

android:inputType="numberDecimal"

请帮助。

1 个答案:

答案 0 :(得分:0)

您应该将addTextChangedListener添加到您的editText 像这样的东西:

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。 我有一些示例代码,如果你喜欢