android如何限制编辑文本时输入的值超出比较值吗?

发布时间: 2016/9/26 3:50:15
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

编辑文本已经在列表中 view 自定义行。如果我试着输入一些值我比较那值在文本守望者。现在如果输入的值超出的比较价值,我不想让该字符的数字,但 edittext 在编辑模式下或焦点,这是我的代码

holder.etCredit.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            creditNoteBean = data.get(holder.refPosition);
            String availCredit = holder.txtAvailableCredit.getText().toString();
            String entrVal = s.toString();
            if (entrVal != null && !entrVal.isEmpty()) {
                if (Double.parseDouble(availCredit) < Double.parseDouble(entrVal)) {
                    Toast.makeText(context, "Exceeding available credit ", Toast.LENGTH_SHORT).show();
                } else {
                    creditNoteBean.setSelectedCreditNotePrice(s.toString());
                }
            }
        }
        @Override
        public void afterTextChanged(Editable s) {

        }
    });

解决方法 1:

我终于找到了解决方案如何限制 edittext 领域具有一定的价值比较

 @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            creditNoteBean = data.get(holder.refPosition);

            String availCredit = holder.txtAvailableCredit.getText().toString();
            String entrVal = s.toString();

            if (entrVal != null && !entrVal.isEmpty()) {
                if (Double.parseDouble(availCredit) < Double.parseDouble(entrVal)) {
                    Toast.makeText(context, "Exceeding available credit ", Toast.LENGTH_SHORT).show();
                    holder.etCreditNoteAmount.setText(entrVal.substring(0, entrVal.length() - 1));
                } else {

                    creditNoteBean.setSelectedCreditNotePrice(s.toString());
                }
            }


        }
官方微信
官方QQ群
31647020