Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реакция на изменение содержимого EditText'а, метод addTextChangedListener 
V
    Опции темы
gabin
Дата 28.7.2011, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


студент



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.8.2008
Где: Харьков

Репутация: нет
Всего: нет



Хочу сделать чтоб при изменении текста в EditText'е в TextView был изменен единожды текст
Код

public class EditTextOnChangeActivity extends Activity {
    /** Called when the activity is first created. */
    public EditText mEditText;
    public TextView mLabel;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mEditText = (EditText)findViewById(R.id.editText);
        mLabel = (TextView)findViewById(R.id.text);
        mLabel.setText("file.txt");
        mEditText.setText("this Text already was here ...");
        mEditText.addTextChangedListener(new TextWatcher() {
            
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
                if (!mLabel.toString().endsWith("*")) mLabel.append("*"); 
            }
            
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                
            }
        });
    }
}

Но , когда я меняю текст в поле , то в mLabel (TextView) значок "*" добавляется не единожды , а при каждом изменении , хотя и стоит проверка на наличие этого символа. Как сделать чтобы он добавлялся только один раз ?
PM MAIL WWW ICQ Skype   Вверх
toxx
Дата 28.7.2011, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: нет
Всего: 13



Cравниваете не строку в TextView, а совсем другое(юзать наверно нужно getText)
http://developer.android.com/reference/jav...html#toString()

Это сообщение отредактировал(а) toxx - 28.7.2011, 20:30
PM MAIL   Вверх
gabin
Дата 28.7.2011, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


студент



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.8.2008
Где: Харьков

Репутация: нет
Всего: нет



Цитата(toxx @ 28.7.2011,  20:24)
Cравниваете не строку в TextView, а совсем другое(юзать наверно нужно getText)
http://developer.android.com/reference/jav...html#toString()

Точно, Спасибо. Исправил на :
Код

if (!mLabel.getText().toString().endsWith("*")) mLabel.append("*"); 

теперь работает как надо
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.