由於座位號(你的例子)將有不同數量的計數,它還挺很難猜測何時從一個鍵盤類型更改爲另一個。
否則,您可以以編程方式更改的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);
}
}
});
您也可以使用softkeyboard IME選項更改鍵盤輸入型。 https://stackoverflow.com/a/40526750/6672482
試試這個 http://stackoverflow.com/questions/4469936/getting-numeric-keyboard-default – kannappan
可悲的是,其中是沒有什麼用處。 – user872423