2012-04-16 4 views
2

У меня есть EditText, который всегда содержит целое число ... но иногда также содержит текст. Как проверить, содержит ли моя строка текстовые поля в EditText? Спасибо заранее.Android check EditText

+0

почти ничего, я могу проверить только, есть ли EditText пустым или нет с этим: mDisplaySting = mDisplay.getText(). ToString(); \t \t \t \t \t \t \t \t \t \t \t если (mDisplayString.length()! = 0) – Tony

+0

вы хотите его, чтобы ограничить его номера _только_? – Sam

+0

нет .. фильтрация уже сделала то же самое EditText.I решила ответ Раунака. Спасибо за ответ: D – Tony

ответ

8

Я хотел бы подойти к проблеме следующим образом:

String mEditText = mDisplay.getText().toString(); 
if(mEditText.matches("[0-9]+")) { 
    // mEditText only contains numbers 
} else { 
    // mEditText contains number + text, or text only. 
} 
+0

безупречный! большое спасибо! – Tony

0

Отъезд java.lang.Character.isDigit(). Вы можете проверить, является ли String числовым, итерируя его символы и проверяя, являются ли они цифрами.

Reference

+0

ответ – Tony

2

Я думаю, что вы можете проверить, если текст содержит только цифры и/или буквы. Если построить служебный метод как это:

public static boolean isNumeric(String s){ 
    if(TextUtils.isEmpty(s)){ 
    return false; 
    } 
    Pattern p = Pattern.compile("[-+]?[0-9]*"); 
    Matcher m = p.matcher(s); 
    return m.matches(); 
} 

... то вы можете использовать его легко проверить, если ваш текст извлекается из вашего TextView содержит целое число или нет :)

String text = textview.getText().toString(); 
    if(TextUtils.isEmpty()){ 
    // We have got an empty string 
    } else if(isNumeric(text){ 
    // Do something 
    }else{ 
    // It's not numeric do something else 
    } 
+0

спасибо за ответ – Tony

0

You также может зарегистрировать http://developer.android.com/reference/android/text/TextWatcher.html в EditText, чтобы выполнить эти операции по мере изменения поля. Это позволяет делать приятные вещи, например, отклонять недействительные символы по мере их ввода или красить текст, пока он недействителен.

+0

Также установите тип на EditText http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType – Bostwickenator