android - 实时编辑用户输入

标签 android string android-edittext

是否可以在 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 - 实时编辑用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172242/

相关文章:

c++ - 为什么 std::string 没有虚拟析构函数?

android - 我如何从 JSON 中获取国家和州并将其填充到 Spinner 上

android - 如何在Android应用中为所有连接设置代理?

string - Gnuplot:使用字符串变量定义列

Javascript 字符串操作

android - 在android中将文本转换为表情符号

android - 自动填写不带国家代码的电话号码

android - 在 Android M 上将错误设置为 TextInputLayout 后更改 EditText 背景的问题

java - 比较java中的日期没有按预期工作

android - 抽屉导航 : setNavigationItemSelectedListener is not working.