-
android:inputType
-
如果設置android:inputType = "number",則默認彈出的輸入鍵盤為數字鍵盤,且輸入的內容只能為數字。
- InputType文檔:http://cs.szpt.edu.cn/android/reference/android/text/InputType.html
-
-
setRawInputType(int type)
- 也就是說可以通過改變這個方法 達到改變 鍵盤的輸入顯示,比如數字鍵盤,字符鍵盤,但是這個方法不改變你原有的 設置的字符限制。
- 比如若設置如下,則只是默認彈出彈出數字鍵盤,但對內容沒有限制,此時任然可以輸入字符等其他內容。
setRawInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_SIGNED);
- 如果想設置允許輸入字符,但是希望默認彈出的鍵盤為數字鍵盤就可以這樣進行設置:
setInputType(InputType.TYPE_CLASS_TEXT);
setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
-
setInputType(int type)
- 效果跟android:inputType一樣
-
細節(坑)Java中需設置基本類型:
-
- 設置只允許數字輸入的InputType時,不能只單純設置如下,否則將無效。
setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);或者setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);正確的做法是在前面加上TYPE_CLASS_NUMBER,如下:
-
-
setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_VARIATION_NORMAL);//只允許輸入數字(正整數)
setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_SIGNED);//只允許輸入數字(有符號整數)
setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_FLAG_DECIMAL);//只允許輸入數字(decimal,小數)
-
- 設置只允許數字輸入的InputType時,不能只單純設置如下,否則將無效。
- 其他輸入設置(如Text、Date、Time、Phone等)都有有相應的基本類型TYPE_CLASS_,使用時也需要在前面加上該基本類型TYPE_CLASS_,然后再加上需要的拓展類型,否則無效
-