#android #android-edittext
#Android #android-edittext
Вопрос:
У меня такое странное поведение EditText
.
Я создал класс, который расширяется EditText
, затем я создал метод в этом новом классе под названием validate, и в этом методе я пытаюсь проверить текст, введенный пользователем EditText
, с некоторыми условиями.
Проблема в том, что getText()
все время возвращается пустая строка. Вот мой код :
public class AttributeNumber extends EditText {
public boolean validate () {
Log.i("AMIRA", "Text Out" getText().toString());
}
}
Кто-нибудь может сказать мне, что не так?
Комментарии:
1. вы передаете число в edittext? или его строковое значение?
2. @PramodPatel Я передаю ему number, я установил для него тип ввода number, будет ли это иметь какое-либо значение
3. Ваш
validate()
метод должен быть помещен в некоторый прослушиватель, который вызывается при изменении текста,validate()
не будет вызывать себя4. @AmanGrover Да, я вызываю validate внутри onClick прослушивателя кнопки, при нажатии кнопки я вызываю validate для edittext.
5. @AmiraElsayedIsmail есть ли какая-то конкретная причина для создания
AttributeNumber
класса путем расширенияEditText
? Вы можете легко написатьvalidate()
метод в своемFragment
илиActivity
, а не создавать пользовательскийEditText
.
Ответ №1:
Попробуйте это:
public class AttributeNumber extends EditText {
public boolean validate () {
Log.i("AMIRA", "Text Out" AttributeNumber.this.getText().toString());
}
}
Ответ №2:
Я думаю, проблема в вашем методе validate(). В нем отсутствует оператор return.
public class AttributeNumber extends EditText {
public boolean validate () {
Log.i("AMIRA", "Text Out" getText().toString());
return true;
}
}