EditText TextChangeListener проблема - PullRequest
4 голосов
/ 30 марта 2011

У меня есть текст для редактирования, предназначенный для поиска. Я добавил

searchET.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub              
            }

            @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
                //intent to another page where i show my search result
            }
        });

Проблема в следующем: Когда я даю строку поиска, например: «форт», я получаю требуемый результат на следующей странице. Но когда я нажимаю кнопку «Назад», она не переходит на предыдущую страницу при первом нажатии. Мне придется нажать кнопку назад 4 раза, чтобы перейти на предыдущую страницу. Это потому, что моя строка поиска имеет длину 4, и каждый раз, когда значение вводится в текст редактирования, вызывается textchangelistener. Как я могу решить эту проблему? Ответьте, пожалуйста. Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

В зависимости от того, что вам нужно, вы можете перейти к следующей странице в зависимости от некоторых условий.Например, запустите таймер, и если afterTextChanged вызывается до истечения времени таймера, сбросьте таймер.В качестве альтернативы, у вас может быть кнопка «Поиск», где пользователь явно указывает, что он закончил печатать слово.

Если вы можете поделиться требуемым поведением, могут быть предложены лучшие альтернативы.

0 голосов
/ 30 марта 2011

на самом деле, когда вы хотите решить, когда заканчивается текст, нет смысла включать addTextChangedListener.Чтобы улучшить пользовательский интерфейс, вы можете добавить эту кнопку в ваш текст редактирования. Ссылаться на это: edittext with view

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...