java – Android限制EditText到Integer输入

前端之家收集整理的这篇文章主要介绍了java – Android限制EditText到Integer输入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试对编辑文本应用某种验证.用户应该只能输入1到60之间的整数.我想知道是否应该让他们输入他们喜欢的内容,当他们关注edittext时检查内容,如果超出界限则将值更改为默认值,说0.

或者有没有办法限制键盘只允许整数?

更新:
我正在以编程方式做所有事情.到目前为止,我已经能够限制只有数字输入,并通过实现以下最多2个字符.我仍然在努力限制0到60之间的值.

    editText.setInputType( InputType.TYPE_CLASS_NUMBER );
    InputFilter[] FilterArray = new InputFilter[1];
    FilterArray[0] = new InputFilter.LengthFilter(2);
    editText.setFilters(FilterArray);
最佳答案
您可以使用android.text.method.KeyListener将当前输入替换为您喜欢的任何内容.

由于您不必更改所有键,您可以使用addTextChangedListener(TextWatcher watcher)方法,如下所示:

EditText editT = (EditText) findViewById(R.id.your_id);
editT.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub
}

@Override
public void beforeTextChanged(CharSequence s,int start,int count,int after) {
    // TODO Auto-generated method stub
}

@Override
public void onTextChanged(CharSequence s,int before,int count) {
    // TODO Auto-generated method stub

});

利用它来检查您的输入是否超出您的预期,您甚至可以通过检查该循环来忽略键.

在XML中:

>如果您使用的是数字,请使用android:inputType =“number”.
>要将数字的数量限制为2,请包括android:maxLength =“2”.

原文链接:https://www.f2er.com/android/430600.html

猜你在找的Android相关文章