Edittextで特定の文字を許可し、他のすべての文字をブロックします。私はインターネットを検索して解決策を見つけられませんでした。私が知ったのは、特定の文字をブロックする方法でしたが、私の場合は特定の文字を許可し、他のすべての文字をブロックする必要がありました。 たとえば、edittextで許可したい文字は、A〜Z、0〜9、カンマ、ドット、アンダースコア(_)です。誰かが私にそれをする方法の例を教えてくれたり、正しいリンクに私を指差してくれたら、私はとても感謝しています。 ありがとう!EditTextで特定の文字を許可し、他のすべての文字をブロックします。Android
2
A
答えて
2
のみ、特定の文字を許可する1つの方法は、この質問が既に入力フィルタ部での答えを持っている。[これを参照してください](http://stackoverflow.com/questions Pattern
final Pattern pAlpha = Pattern.compile("[0-9a-zA-Z,._]+");
yourEditText.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 (pAlpha.matcher(yourEditText.getText()).matches()) {
// you allowed it
} else {
// you don't allow it
}
}
});
+2
他の人が自分の投稿を否定的なものとしてマークしていました。あなたは私に最高のソリューションを提供しました! ありがとうございました! –
で
TextChangedListener
を使用することです/ 3349121/how-do-i-use-input-limit-in-an-edittext-in-android) –あなたのアプリケーションが英語のみであり、異なるローカリゼーションに対処する必要がないことを願っています。 US-ASCIIへの入力を制限することは、必ずしも最高のものではないようです。 – Diti