過濾限制EditText文字輸入
阿新 • • 發佈:2022-05-18
限制接收的字元
通過setKeyListener限制能接收的字元
edt.setKeyListener(new NumberKeyListener() { @NonNull @Override protected char[] getAcceptedChars() { return new char[]{'1','2','3','4','5'};//能接收的字元陣列 } @Override public int getInputType() { return InputType.TYPE_CLASS_TEXT;//返回鍵盤型別 } });
過濾字元
通過InputFilter過濾輸入的字元
//下一個字元和前一個不能重複 InputFilter inputFilter = new InputFilter(){ private String lastStr = ""; @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { Log.d(TAG, "filter: --"+source.toString()); if (lastStr.equals(source.toString())){ return ""; } lastStr = source.toString(); return null;//返回原始值 } };
edt.setFilters(new InputFilter[]{inputFilter});