编辑文本格式

发布于 2024-12-07 02:49:10 字数 334 浏览 1 评论 0原文

现在我有了一个带有 TextWatcherEditText ,它将用户输入格式化为电话。例如,如果用户输入 89011234567,它将被格式化为 +7 (901) 123-45-67

我想知道是否有任何方法可以扩展或实现一些类,例如 CharSequenceEditable 或任何其他类似的类,以使 EditText 显示格式化输出,但是当我调用 mEditText.getText().toString() 时,它会返回原始用户输入吗?

Now I've got an EditText with TextWatcher which formats user input as a phone. For example if users input is 89011234567 it will be formatted as +7 (901) 123-45-67.

I wonder is there any way I can extend or implement some classes like CharSequence or Editableor any other like these to make EditText display the formatted output, but when I will call mEditText.getText().toString() it will return original users input?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天生の放荡 2024-12-14 02:49:10

您可以创建一个扩展标准 EditText 的类,然后重写 getText() 方法以返回您需要的内容。

public class MyEditText extends EditText {
   //Implement the methods that need implementation. Calling the method in the super class should do the trick

   @Override
   public Editable getText() {
     //return an Editable with the required text.
   }
}

然后您只需使用 MyEditText 而不是普通的 EditText。

如果您不在其他地方(例如您的 TextWatcher)使用 getText() 方法,则此解决方案将起作用。

You could create a class that extends the standard EditText, and then override the getText() method to return what you need.

public class MyEditText extends EditText {
   //Implement the methods that need implementation. Calling the method in the super class should do the trick

   @Override
   public Editable getText() {
     //return an Editable with the required text.
   }
}

Then you just use the MyEditText instead of the normal EditText.

This solution will work, if you don't use the getText()-method other places (like your TextWatcher).

[旋木] 2024-12-14 02:49:10

您可以将用户的输入存储到 edittext 的 tag 属性中,这样您就可以访问它,并且不会通过使用 setText 显示格式化数字来修改它!

You could store the user's input into the tag property of your edittext, this way you could access it and it wouldn't be modified by using setText to display the formatted number !

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文