gpt4 book ai didi

android - 如何在 Android 中将字符串格式化为 "AAA-AAA-AAA"格式的 EditText

转载 作者:行者123 更新时间:2023-11-29 15:15:45 25 4
gpt4 key购买 nike

我需要输入由破折号分隔的 9 个大写字母,例如 AAA-AAA-AAA 和输入时必须格式化此输入。

提前致谢。

最佳答案

我找到了使用 TextWatcher 的解决方案。我正在使用

android:inputType="textCapCharacters|textNoSuggestions"

对于 EditText 输入类型,以便仅接收大写字母。

        txtCode = (EditText) findViewById(R.id.txtCode);

txtCode.addTextChangedListener( new TextWatcher() {
boolean isEdiging;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }


@Override
public void afterTextChanged(Editable s) {
if(isEdiging) return;
isEdiging = true;
// removing old dashes
StringBuilder sb = new StringBuilder();
sb.append(s.toString().replace("-", ""));

if (sb.length()> 3)
sb.insert(3, "-");
if (sb.length()> 7)
sb.insert(7, "-");
if(sb.length()> 11)
sb.delete(11, sb.length());

s.replace(0, s.length(), sb.toString());
isEdiging = false;
}
});

关于android - 如何在 Android 中将字符串格式化为 "AAA-AAA-AAA"格式的 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24147059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com