[英]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.