gpt4 book ai didi

java - Android 限制 EditText 只能输入整数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:48:48 25 4
gpt4 key购买 nike

我正在尝试对编辑文本应用某种验证。用户应该只能输入 1 到 60 之间的整数。我想知道我是否应该让他们输入他们喜欢的任何内容,当他们关注编辑文本时检查内容,如果它超出范围,则将值更改为默认值,说 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 start, int before, int count) {
// TODO Auto-generated method stub

});

利用它来检查您的输入是否超出了您所看到的范围,您甚至可以通过检查该循环来忽略按键。

在 XML 中:

  • 如果您只使用数字,请使用 android:inputType="number"
  • 要将位数限制为 2,请包含 android:maxLength="2"

关于java - Android 限制 EditText 只能输入整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10467025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com