美文网首页
EditText 动态输入千分位逗号

EditText 动态输入千分位逗号

作者: 非正式程序猿 | 来源:发表于2021-04-12 17:41 被阅读0次

    通过设置TextWatcher监听,每次SetText之后,会重新调用afterTextChanged , 因此要每次进行判断,反正造成死循环。

     EditText.addTextChangedListener(new TextWatcher() {
                DecimalFormat df = new DecimalFormat(",###");
                String oldValue = "";
    
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }
    
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }
    
                @Override
                public void afterTextChanged(Editable s) {
                    String money = s.toString().replace(",", "");
                    if (!oldValue.equals(money)) {
                        oldValue = money;
                        if (!StringUtils.isEmpty(money)) {
                            String formatMoney = df.format(Integer.valueOf(money));
                            etTelSendMoeny.setText(formatMoney);
                            if (s.toString().length() != 0) {
                                etTelSendMoeny.setSelection(formatMoney.length());
                            }
                        } else {
                            etTelSendMoeny.setText("");
                        }
                    }
                }
            });
    

    相关文章

      网友评论

          本文标题:EditText 动态输入千分位逗号

          本文链接:https://www.haomeiwen.com/subject/wkwxlltx.html