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 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...