将数字键盘打开为数字而不添加InputType.TYPE_CLASS_NUMBER

时间:2018-02-09 10:14:59

标签: android android-softkeyboard

一直试图为软键盘首先打开数字键而不说EditText是数字。

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

editText btw是动态添加的,因此无法对XML文件进行更改

2 个答案:

答案 0 :(得分:0)

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

 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()});

答案 1 :(得分:0)

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

首先打开一个带数字的键盘让我选择正常的键盘并输入字母。