歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android EditText 增加自定義過濾

Android EditText 增加自定義過濾

日期:2017/3/1 10:30:22   编辑:Linux編程

在Android中,可以通過對EditText設置setFilters方法,用代碼控制EditText的輸入長度,或控制輸入小數的位數等。

1.設置EditText的輸入長度

inputEdit.setFilters(new InputFilter[] { new InputFilter.LengthFilter(length)});

2.控制輸入小數的位數

  1. // 設置小數位數控制
  2. InputFilter lengthfilter = new InputFilter() {
  3. public CharSequence filter(CharSequence source, int start, int end,
  4. Spanned dest, int dstart, int dend) {
  5. // 刪除等特殊字符,直接返回
  6. if ("".equals(source.toString())) {
  7. return null;
  8. }
  9. String dValue = dest.toString();
  10. String[] splitArray = dValue.split("\\.");
  11. if (splitArray.length > 1) {
  12. String dotValue = splitArray[1];
  13. int diff = dotValue.length() + 1 - digLength;
  14. if (diff > 0) {
  15. return source.subSequence(start, end - diff);
  16. }
  17. }
  18. return null;
  19. }
  20. };
  21. inputEdit.setFilters(new InputFilter[] { lengthfilter });
Copyright © Linux教程網 All Rights Reserved