簡體   English   中英

Android EditText軟鍵盤問題

[英]Android EditText soft keyboard question

我有EditText,應該從用戶那里得到飛機座位號的輸入(例如17G,5A等),然后問題是我將EditText輸入類型設置為text,它總是用文本打開軟鍵盤。 但是我的輸入始終以數字開頭,因此用戶必須始終將鍵盤切換為數字並返回。 問題是如何設置鍵盤以在數字所在的部分打開文本鍵盤? 我試着把android:inputType =“ numeric”放進去,但是它只是打開數字鍵盤,之后無法輸入任何文本。

由於座位號(您的示例)將具有不同的號碼計數,因此很難猜測何時從一種鍵盤類型更改為另一種鍵盤類型。

否則,您可以像下面這樣以編程方式更改EditText輸入類型:

((EditText) mView.findViewById(R.id.et_seat_number)).addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) {

        }

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

        @Override
        public void afterTextChanged(Editable editable) {

            EditText etSeatNumber = (EditText) mView.findViewById(R.id.et_seat_number);
            if(editable.length() > 2)
                etSeatNumber.setInputType(InputType.TYPE_CLASS_NUMBER);
            else{
                etSeatNumber.setInputType(InputType.TYPE_CLASS_TEXT);
            }
        }
    });

您也可以使用軟鍵盤的IME選項更改鍵盤輸入類型。 https://stackoverflow.com/a/40526750/6672482

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM