public class MainActivity extends AppCompatActivity { private EditText editText; private Toast toast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.edi_pass); editText.setFilters(new InputFilter[]{new MaxTextLengthFilter(3)}); } //自定義過濾,對每一個輸入的值進行過濾 class MaxTextLengthFilter implements InputFilter { //最大有效長度 private int mMaxLength; public MaxTextLengthFilter(int max) { mMaxLength = max; toast = Toast.makeText(MainActivity.this, "字符不能超過3個", Toast.LENGTH_SHORT); } //filter 過濾 將輸入的值進行變換,輸出想要的值 //source 剛輸入的值 ; //dest 顯示在editext上的值 public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { //keep 還能輸入幾個值 //其他int值沒測試明白 int keep = mMaxLength - (dest.length() - (dend - dstart)); // end-star 表示剛纔按鍵輸入了幾個值 字符=1;漢字=漢字的個數 if (keep < (end - start)) { toast.show(); } if (keep <= 0) { return ""; } else if (keep >= end - start) { return null;//保持原樣不變化 } else { return source.subSequence(start, start + keep); } } } }
記錄工作中可能會用到的——Editext 指定最大長度,超出時進行toask提示。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.