1. 程式人生 > >Android:實現 程式碼控制 EditText 只能輸入固定長度的數字

Android:實現 程式碼控制 EditText 只能輸入固定長度的數字

// 輸入固定長度  
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);