Düzenli ifadeyi kullanarak doğrulamak istediğim bir numaralı EditText
numaram var. Doğrulamada istediğim şey.Android'de düzenli ifade nasıl kullanılır?
ondalık noktadan önce ben girmek istiyorum maksimum haneli üçtür ve basamaklı ı girmek isteyen maksimum rakam gibi biridir sıfır ondalık noktadan sonra vb
2,23,342 gibi başlamak gerekir 0,1, 0,3, 0,6 vb
Yani ben kullanıcı girmesine izin sayıdır gibi 2.1, 32.5, 444.8, 564.9 vb
Ama Benim kodunda neler Kullanıcının 3456, 4444, 5555 gibi ondalık noktasından önce daha sonra üç haneli numarasını girmesi IS-
olur ve bundan sonra bu beni bundan sonra virgül girmek için izin vermez.
Ondalık noktadan önce 0'ı basamağın başlangıcı olarak girmeme izin verir.
Neden böyle oluyor, kullandığım normal ifademde yanlış bir şey var. Eğer birileri bunu çözmemde bana yardımcı olursa. Ben kullandım
Kod
weightEditText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count){
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after){
}
@Override
public void afterTextChanged(Editable s)
{
Pattern mPattern = Pattern.compile("^([1-9][0-9]{0,2})?(\\.[0-9]?)?$");
Matcher matcher = mPattern.matcher(s.toString());
if(!matcher.find())
{
weightEditText.setText(); // dont know what to place
}
}
});
http://stackoverflow.com/a/2811058/1160207 bakın, http://stackoverflow.com/a/4174811/1160207. Sana yardım edecektir. –
Çözümü aldınız mı? – 5hssba