Работа с EditText
-
- Сообщения: 19
- Зарегистрирован: 29 сен 2013, 20:38
Работа с EditText
Здравствуйте!)
Подскажите, пожалуйста, как правильно сделать запрет на вывод в поле EditText отрицательных значений?
Подскажите, пожалуйста, как правильно сделать запрет на вывод в поле EditText отрицательных значений?
Re: Работа с EditText
Вот как-то так.АндрЕвгений писал(а):Здравствуйте!)
Подскажите, пожалуйста, как правильно сделать запрет на вывод в поле EditText отрицательных значений?
Код: Выделить всё
edittext.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if(Integer.parseInt(s.toString())<=0){
edittext.setText("");
//или то действие, которое ты сам захочешь
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
}
});
Re: Работа с EditText
эпик фейл будет если я введу "Hello world"adarash писал(а):Вот как-то так.АндрЕвгений писал(а):Здравствуйте!)
Подскажите, пожалуйста, как правильно сделать запрет на вывод в поле EditText отрицательных значений?Код: Выделить всё
edittext.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { if(Integer.parseInt(s.toString())<=0){ edittext.setText(""); //или то действие, которое ты сам захочешь } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } });
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Работа с EditText
Если в свойствах edittext будет прописано android:inputType="number", то эпик фэла не бодит ибо вызовется цифровая клавиатура и не будет возможности вводить текстовые символы . В задаче же явно поставлено условие про отрицательные значения.rezak90 писал(а):эпик фейл будет если я введу "Hello world"adarash писал(а):Вот как-то так.АндрЕвгений писал(а):Здравствуйте!)
Подскажите, пожалуйста, как правильно сделать запрет на вывод в поле EditText отрицательных значений?Код: Выделить всё
edittext.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) { if(Integer.parseInt(s.toString())<=0){ edittext.setText(""); //или то действие, которое ты сам захочешь } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } });
-
- Сообщения: 19
- Зарегистрирован: 29 сен 2013, 20:38
Re: Работа с EditText
Спасибо!)
Вставил я это в код, выпала ошибка "Syntax error on token "addTextChangedListener", = expected after this token". Что не так?
Это единственный способ? Просто, у меня 11 активити и в каждой по 11 EditText, где одно поле предназначено для ввода значения, а остальные - только для вывода результата.
Вставил я это в код, выпала ошибка "Syntax error on token "addTextChangedListener", = expected after this token". Что не так?
Это единственный способ? Просто, у меня 11 активити и в каждой по 11 EditText, где одно поле предназначено для ввода значения, а остальные - только для вывода результата.
-
- Сообщения: 19
- Зарегистрирован: 29 сен 2013, 20:38
Re: Работа с EditText
Ошибку в коде нашёл. Но,когда запускаю приложение и ввожу число, оно неожиданно завершается. вот ссылка на приложение, гляньте http://play.google.com/store/apps/detai ... onofattack
Re: Работа с EditText
Прошу прощения, один символ забыл.АндрЕвгений писал(а):Спасибо!)
Вставил я это в код, выпала ошибка "Syntax error on token "addTextChangedListener", = expected after this token". Что не так?
Это единственный способ? Просто, у меня 11 активити и в каждой по 11 EditText, где одно поле предназначено для ввода значения, а остальные - только для вывода результата.
Код: Выделить всё
edittext.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
if (Integer.parseInt(s.toString()) <= 0) {
edittext.setText("");
// или то действие, которое ты сам захочешь
}
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
});
-
- Сообщения: 19
- Зарегистрирован: 29 сен 2013, 20:38
Re: Работа с EditText
Вы ещё не видели, что из себя представляет приложение? Посмотрите, когда, после применения метода,я запускаю проект, при попытке ввести значение, приложение неожиданно завершается... А нельзя поставить такое ограничение в .xml,так же, как, например, android:inputType="number"?
Re: Работа с EditText
не знаю, как тебе, а мне в твое приложение(с телефона) не удается ввести отрицательное значение вообще.
-
- Сообщения: 19
- Зарегистрирован: 29 сен 2013, 20:38
Re: Работа с EditText
Так, всё правильно!) В свойствах edittext прописано
android:inputType="number"... Попробуй ввести,скажем, 10 попрошаек, далее увидим,что всех остальных -4, –7, –10 и так далее... мне нужно,что бы выводились только положительные значения! А значения со знаком «—» заменялись на «0» или фразу, например, «на данный момент не требуется» ... Просто пользователи часто не понимают и жалуются на этот «—».
Теперь понятно чего я хочу? Запрет на ВЫВОД, а не на ввод. Запрет на ВВОД отрицательных значений я давно поставил)
android:inputType="number"... Попробуй ввести,скажем, 10 попрошаек, далее увидим,что всех остальных -4, –7, –10 и так далее... мне нужно,что бы выводились только положительные значения! А значения со знаком «—» заменялись на «0» или фразу, например, «на данный момент не требуется» ... Просто пользователи часто не понимают и жалуются на этот «—».
Теперь понятно чего я хочу? Запрет на ВЫВОД, а не на ввод. Запрет на ВВОД отрицательных значений я давно поставил)
Re: Работа с EditText
Вот класс:АндрЕвгений писал(а):Так, всё правильно!) В свойствах edittext прописано
android:inputType="number"... Попробуй ввести,скажем, 10 попрошаек, далее увидим,что всех остальных -4, –7, –10 и так далее... мне нужно,что бы выводились только положительные значения! А значения со знаком «—» заменялись на «0» или фразу, например, «на данный момент не требуется» ... Просто пользователи часто не понимают и жалуются на этот «—».
Теперь понятно чего я хочу? Запрет на ВЫВОД, а не на ввод. Запрет на ВВОД отрицательных значений я давно поставил)
Код: Выделить всё
package com.example.testedittest;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class tw implements TextWatcher {
EditText et;
public tw(EditText et) {
this.et = et;
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
try {
String str = s.toString().trim();
int i = Integer.parseInt(str);
if (i < 0) {
et.setText("0");
}
} catch (NumberFormatException e) {
et.setText("0");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
}
Код: Выделить всё
et1.addTextChangedListener(new tw(et1));
et2.addTextChangedListener(new tw(et2));
Блин, и не лень же мне было писать.
-
- Сообщения: 19
- Зарегистрирован: 29 сен 2013, 20:38
Re: Работа с EditText
Заработало!!!) Благодарю вас за проявленное внимание)