我試圖限制用戶輸入。如果用戶輸入連續的數字,例如像這樣的1232334,以及連續的特殊字符,例如!@%$^&#@ $ *。但它可以讓用戶輸入序號,如1st,2nd等,而且它也允許John 13:12。一節經文。Android限制用戶輸入
這是我已經試過:(我用的輸入過濾器)
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
for (int i = start; i < end; i++) {
if (!Character.isLetterOrDigit(source.charAt(i))) {
return "";
}
}
return null;
}
};
et.setFilters(new InputFilter[]{filter});
但它不會讓我輸入特殊字符時,它可以接受連續的數字。有誰知道如何達到我的要求?你非常感謝。謝謝。
使用InputFilter似乎絕對是這樣做的方式。爲了確定允許的數據組合,我試着使用正則表達式。我沒有完全理解您對允許的輸入數據的描述,因此我無法進一步幫助您。 –
@HansHohenfeld嗨,感謝您的即時回覆,正如我所說的,我想限制用戶的連續挖掘和特殊字符。這是不允許的:1231414 $ @#(@)(@#。唯一允許的輸入數據是:1st,2nd,John 14:18 – Dunkey
@Donkey是那些固定值?或模式,即第3,13或Hans 09 :21也允許? –