首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移除固定位数

移除固定位数
EN

Stack Overflow用户
提问于 2015-01-07 11:35:43
回答 2查看 56关注 0票数 2

也许这对你来说并不难,但我需要一些帮助。我有和editText,它显示一个6位长的代码。例如"292000“、"123000”等.

我有这个信息在一个editText,我希望用户只能删除最后2位数字,以放置他们自己的号码(他们只能更改最后两位数字)。例如"292020“"123001”。

我使用的是文本处理程序,但不能在其中使用setText,因为我会得到堆栈溢出错误。任何帮助都将不胜感激。

代码语言:javascript
复制
codArt.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if(codArt.getSelectionStart() < 5) {
                codArt.setText(charSequence);
                codArt.setSelection(5);
            }
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-07 12:14:53

从onTextChanged()方法中删除代码并尝试如下所示.

代码语言:javascript
复制
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            if (s.length() == 4 && after == 0) {
                codArt.removeTextChangedListener(this);
                codArt.setText(s);
                codArt.setSelection(s.length());
                codArt.addTextChangedListener(this);
            }

    }
票数 1
EN

Stack Overflow用户

发布于 2015-01-07 11:48:13

尝试使用文本视图,并将可设置设置为true。将最小字符设置为"n“,并将最后一个"k”字符保持为可编辑字符。一个自定义的文本视图就能做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27818601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档