简体   繁体   English

Android Edittext中的分隔符

[英]Separator in android Edittext

What's the best way to insert a - (dash/minus character) after every 9 characters in a android Edittext, starting from the left? 从左开始,在Android Edittext中每9个字符后插入一个-(破折号/减号)的最佳方法是什么?

Examples: 例子:

=100001111111111111111111111 -> 100001111-111111111-111111111 My attempt, to show that I have tried doing it myself (a comment below asks: "is this homework?": = 1000011111111111111111111111-> 100001111-111111111-111111111我的尝试是为了证明我自己尝试过(以下评论问:“这是作业吗?”:

final int length = string.length();

StringBuilder stringBuilder = new StringBuilder(newStringCapacity);

您可以执行以下操作:

str = str.replaceAll("(.{9})(?!$)", "$1-");

IF you have a definitive number of characters in your EditText , I suggest you use MaskedEditText . 如果您在EditText有一定数量的字符,建议您使用MaskedEditText Sample usage from it's docs: 来自其文档的样本用法:

Usage 用法

Add xmlns:mask="http://schemas.android.com/apk/res/com.your.app.package" to your layout xml root. xmlns:mask="http://schemas.android.com/apk/res/com.your.app.package"到布局xml根目录中。 You're now ready to use MaskedEditText ! 现在您可以使用MaskedEditText Just add to your layout xml: 只需添加到您的布局xml:

<br.com.sapereaude.maskedEditText.MaskedEditText 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    mask:mask="###.###.###-##"
/>

mask element refers to the format you want. mask元素是指所需的格式。 For your case, you could use #########-#########-######### . 对于您的情况,可以使用#########-#########-#########

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM