带破折号的邮政编码

Zip code with dash

在 android EditText 中可以用短划线编写邮政编码(例如“55-555”)。中间只有一个破折号。我的意思是我想在数字键盘上添加破折号(“-”)。

您可以使用 TextWatcher 在用户输入邮政编码时插入破折号。以下示例在索引 2 处插入破折号。

editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void afterTextChanged(Editable s) {
            if (!s.toString().contains("-") && s.length() > 2) {
                s.insert(2, "-");
            }

        }
});