如何在EditText上显示数字键盘(来自简单文本键盘的选项卡)

时间:2013-07-25 22:32:22

标签: android android-edittext android-keypad

我正在实施一个Android应用,其中我有一个EditText,我想填写文字。用户将输入的值如下:“12bread”,“45drink”等。 我希望让用户更容易,当他专注于EditText时,我首先向他展示标准文本键盘的数字标签。

Text Keyboard -> 123

问题是我想要这样做而不要求用户先按123:

Text Keyboard

使用inputType="number"或其他编程方法只会导致显示数字小键盘,但我无法在单击后返回文本小键盘,以便他也可以使用字符作为值。

enter image description here

有人能告诉我是否有解决方案可以解决这个问题?我搜索和搜索,没有Q / A匹配我的情况,直到现在没有人说这是不可能的。所以我仍然希望有一个奇迹。 上面显示的图像只是为了显示键盘的类型。

1 个答案:

答案 0 :(得分:0)

好的,这可能有效。在EditText中使用“onTextChangeListener”,这样当记录长度或某个确定的字符串时,键盘将会切换。我有一个项目,我做这样的事情:

yourEditText.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {


        }

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

        }
        //Check after user finished writting
        @Override
        public void afterTextChanged(Editable s) {
            //if the lenght of the editText is > 3...
            if (s.length()>=3){
                yourTextView.setInputType(InputType.TYPE_CLASS_NUMBER);
                    }

                }

    });