次の文字だけを入力する必要があり0-9
ます_
EditTextのどの「android:inputType」を選択しますか?
これを行うだけですXML
android:digits="0123456789_"
数字のみを入力したい場合は、これを選択してandroid:digits="0123456789_"
ください。
これをあなたに追加してみてくださいEditText
EditText text = findViewById(R.id.your_edit_text); /* Find your EditText here. */
text.setKeyListener(DigitsKeyListener.getInstance("0123456789_"));
わかりました。次のコードを試してください
InputFilter[] Textfilters = new InputFilter[1];
Textfilters[0] = new InputFilter(){
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
if (end > start) {
char[] acceptedChars = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '_'};
for (int index = start; index < end; index++) {
if (!new String(acceptedChars).contains(String.valueOf(source.charAt(index)))) {
return "";
}
}
}
return null;
}
};
editxt.setFilters(Textfilters);