10 進数で署名された EditText があります (そのため、コンマを書くことはできません)。TextWatcher を配置しましたが、書き込みが許可されている文字のみをリッスンします。
ただし、ユーザーがトーストを表示するためにコンマを書き込もうとしたときにキャッチしたいです。
どうすればそれが可能ですか?
ありがとうございました
10 進数で署名された EditText があります (そのため、コンマを書くことはできません)。TextWatcher を配置しましたが、書き込みが許可されている文字のみをリッスンします。
ただし、ユーザーがトーストを表示するためにコンマを書き込もうとしたときにキャッチしたいです。
どうすればそれが可能ですか?
ありがとうございました
これを試して、このように編集テキストで文字を指定してください android:digits="abcde.....012345789"
TextWatcher
(あなたが言ったように)にを添付できEditText
ますが、if/elseステートメントを実装して、の値を確認できますEditText
。できることの例を次に示します。 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) {
if(String.valueOf(s).contains(",")) {
String editTextContent = String.valueOf(editText.getText());
editText.setText(editTextContent.replace(",", ""));
Toast.makeText(getApplicationContext(), "Enter a valid input", Toast.LENGTH_SHORT).show();
} else {
// User entered something valid
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
これにより、ユーザーはカンマを入力できなくなります。それが役に立てば幸い!