EditText 动态输入千分位逗号

通过设置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("");
                    }
                }
            }
        });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,805评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 11,843评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,728评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 7,512评论 2 9