Android:實現 程式碼控制 EditText 只能輸入固定長度的數字
阿新 • • 發佈:2019-01-23
// 輸入固定長度
editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(
11) });
// 只能輸入數字
editText.setKeyListener(new DigitsKeyListener(false, true));
其中 InputFilter 是一個介面,提供了對字元的過濾。InputFilter 提供了一個靜態的內部類 LengthFilter,來控制長度。
DigitsKeyListener 繼承自 NumberKeyListener,而NumberKeyListener 也是實現了InputFilter介面。
下面介紹 DigitsKeyListener 的幾種形式:
//只接受整數輸入
KeyListener l = new DigitsKeyListener(false,false);
//接受有符號整數輸入
KeyListener l = new DigitsKeyListener(true,false);
//接受小數,整數輸入
KeyListener l = new DigitsKeyListener(false,true);
//接受有符號整數/小數輸入
KeyListener l = new DigitsKeyListener(true,true);