/** * 限制输入框小数点后保留n位的输入规则 * * @param editText * @param i 保留i位 */ private void initPriceEditText(final EditText editText, final int i) { editText.addTextChangedListener(new TextWatcher() { private boolean isChanged = false; @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { if (isChanged) {// ----->如果字符未改变则返回 return; } String str = s.toString(); isChanged = true; String cuttedStr = str; boolean flag = false; if (str.length() > 3) { UtilsTools.Log_e(TAG, "---------- str.length() > 3"); char c = str.charAt(str.length() - (i + 2)); if ('.' == c) { UtilsTools.Log_e(TAG, "---------- '.' == c"); cuttedStr = str.substring(0, str.length() - i); flag = true; } else { UtilsTools.Log_e(TAG, "---------- '.' != c"); } } else { UtilsTools.Log_e(TAG, "---------- str.length() <= 3"); flag = true; } if (flag) { editText.setText(cuttedStr); } // edit.setSelection(edit.length()); isChanged = false; Editable etext = editText.getText(); Selection.setSelection(etext, etext.length()); } }); }
EditText限制输入几位小数
最新推荐文章于 2022-06-13 17:02:16 发布