不加 InputType.TYPE_CLASS_NUMBER 以数字形式打开键盘

Open the keyboard as numeric without adding InputType.TYPE_CLASS_NUMBER

一直在尝试实现一种方法,让软键盘先打开数字键,而不用说 EditText 是数字。

这可能吗?如果是的话怎么办?

顺便说一句,editText 是动态添加的,因此无法对 XML 个文件进行更改

您可以通过编程方式设置输入类型。

 EditText editText=new EditText(this);
 editText.setInputType(InputType.TYPE_CLASS_NUMBER);

编辑 您可以使用 InputFilters

public class NumericInputFilter implements InputFilter {
String regEx = new String("^[0-9]+$")


@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
                           int dend) {
    if (source != null && !source.toString().matches(regEx) && !source.toString().equals( "")) {

        return "";
    }
    return source;
}

在你的 editText 上,editText.setFilters(new InputFilter[]{new NumericInputFilter()});

如果我们设置editText如editTextField.setRawInputType(Configuration.KEYBOARD_QWERTY);

它会先打开一个数字键盘,让我选择普通键盘,然后再输入字母。