java - 在android中输入第一个字符后立即输入字符

标签 java android string android-edittext

我有一个 editText 和 inputType 作为电话号码。我想在输入第一位数字后立即添加特定的区号。举个例子

我输入 6,EditText 应该显示 +1 6。

我正在尝试使用 textWatcher 实现此目的,但不确定如何将我输入的数字放在“+1”之后

   public void afterTextChanged(Editable s) 
            {               
                if(s.length() == 1)
                {
                    numberText.settext("+1");
                    numberText.setSelection(numberText.getText().length());
                }
            }

但这里的问题是,当我输入第一个数字时,+1 被填充,但通过键盘输入的数字没有显示。我不确定这里出了什么问题?

此外,当我退格并从文本中删除 1 时,会发生这种情况,但我无法删除 + (这会自动填充)。我不想在填充 +1 后退格时删除 +1。

这可能吗?如果可以的话怎么办?

谢谢!

最佳答案

替换

numberText.settext("+1");

numberText.settext("+1" + s.toString());

您没有正确更新现有文本。

关于java - 在android中输入第一个字符后立即输入字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28958867/

相关文章:

.net - 如何在 .NET 中创建特定于域的字符串类?

java字符串base64编码

java - 从java运行linux命令

java - 如何从需要在 JAVA 中进行身份验证的 HTTP 代理后面的 Gmail 帐户发送电子邮件?

android - 无法使用 gradle 将 xstream 1.4.8 依赖项添加到 Android

java.lang.IllegalStateException : aidl is missing Android Studio 3. 0

c# - 在 C# 中,\\在 Visual Basic (VB) 中的等价物是什么?

java - 如何使用 Java 下载链接到 Javascript 的文件

java - 如何将 ADLS 帐户与 Azure VM 连接

Android:当我按下主页时恢复 Activity