android – 实时编辑用户输入

是否可以在用户输入数据时自动将字符插入EditText?

即如果用户输入的是一个长号码,例如123456789012,是否可以在编辑文本框中输入该号码时显示该号码,但是每隔4个字符使用短划线?

因此,当您键入上面的数字时,您会看到它在EditText框中输入,但看起来像这样:1234-5678-9012.

目前我有一个应用程序,您可以输入一个长号,然后按一个按钮,它会为您插入破折号,但我很好奇是否可以在键入时完成?

非常感谢任何帮助.

解决方法

通过标记 android,我认为你正在讨论android editText,所以你可以通过监听TextChangedListener来做到这一点,

编辑:退格

editText.addTextChangedListener(new TextWatcher() {
            int len=0;
            @Override
            public void afterTextChanged(Editable s) { 
                String str = editText.getText().toString(); 
                 if(str.length()==4&& len <str.length()){//len check for backspace 
                    editText.append("-");
                }
            }

            @Override
            public void beforeTextChanged(CharSequence arg0,int arg1,int arg2,int arg3) {

             String str = editText.getText().toString(); 
              len = str.length();
            }

            @Override
            public void onTextChanged(CharSequence s,int start,int before,int count) {  
            }


        });

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...