我有一个edittext,我想输入前缀为$ 0的金额。我设法用数字代替0。像它的$ 0 -----> user按8它将变成$ 80,但是一旦用户按backspace(imageview),它也会删除$符号。 我正在尝试使用现有功能使$符号不被删除。
下面是我尝试用数字替换0的代码,并且还有imageview(Backspace)的单击侦听器。
amountEdittext.setText("$0");
amountEdittext.addTextChangedListener(new TextWatcher() {
@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 editable) {
if (editable.length() > 2) {
for (int i = 0; i < editable.length() - 1; i++) {
if (editable.charAt(i) == '$' &&
editable.charAt(i + 1) == '0') {
editable.delete(i + 1, i + 2);
}
}
}
}
---------------------------------------------------
onclick of backspace
case R.id.t9_key_backspace: {
// delete one character
Editable editable = amountEdittext.getText();
int charCount = editable.length();
if (charCount > 0) {
editable.delete(charCount - 1, charCount);
}