18 Mart 2011, Cuma
Android EditText Ondalık basamak sınırı
Size mali yönetmenize yardımcı olan bir uygulama yazmaya çalışıyorum. Kullanıcı bir miktar para belirtebilir nerede EditText
bir Alan kullanıyorum.
Para için mükemmel değildir Tamam, bu insanlar 123.122
gibi numaraları girmek için izin dışında çalışır numberDecimal
inputType
kurdum.
Bir şekilde iki ondalık noktadan sonra bir karakter sayısı sınırı var mı?
CEVAP
25 Kasım 2011, Cuma
Daha zarif bir yolu, aşağıdaki gibi bir düzenli ifade ( regex ) kullanarak olacaktır
public class DecimalDigitsInputFilter implements InputFilter {
Pattern mPattern;
public DecimalDigitsInputFilter(int digitsBeforeZero,int digitsAfterZero) {
mPattern=Pattern.compile("[0-9]{0," (digitsBeforeZero-1) "} ((\\.[0-9]{0," (digitsAfterZero-1) "})?)||(\\.)?");
}
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
Matcher matcher=mPattern.matcher(dest);
if(!matcher.matches())
return "";
return null;
}
}
Kullanmak için:
editText.setFilters(new InputFilter[] {new DecimalDigitsInputFilter(5,2)});
Bunu Paylaş:
Android EditText sınırı metin uzunluğu...
# - c Nasıl 2 ondalık basamak (bir say...
Android - Kolu "Enter" bir E...
Bir şamandıra yalnızca iki ondalık bas...
Android: odak bir EditText üzerinde yu...