0

我有一个带有 textchange 侦听器的 edittext。在侦听器中,我测试用户的输入是否是我想要测试输入是否在最小-最大边界内的地方。

valueText.addTextChangedListener(new TextWatcher() {
    String backup = "0";

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (count > 0 && !s.equals(backup)) {
            if (Integer.parseInt(s.toString()) > getMaximum()) {
                valueText.setText(backup);
            }
        }
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        backup = s.toString();
    }

    public void afterTextChanged(Editable s) {
    }
});

目前我有这个,但是有没有一种简单的方法来“取消” textchange 事件,所以当值高于最大值时什么都不会发生?

或者我可以使用输入过滤器来设置最小和最大输入吗?

谢谢 :)

编辑:我在这里找到了一个解决方案:http: //tech.chitgoks.com/2011/06/27/android-set-min-max-value-an-edittext-accepts/

4

3 回答 3

0

您可以在 EditText XML 定义上使用 android:maxLength。

于 2012-09-10T14:50:26.763 回答
0
 InputFilter.LengthFilter mLenthFilter=new InputFilter.LengthFilter(25); // pls define yr max length mine was 25.
        valueText.setFilters(new InputFilter[]{mLenthFilter});
于 2012-09-10T15:07:24.390 回答
0

http://tech.chitgoks.com/2011/06/27/android-set-min-max-value-an-edittext-accepts/,您可以设置编辑文本的最小值和最大值。

于 2012-09-11T06:48:43.877 回答