2012-04-16 2 views
1

То, что я хочуПошив автокомплектовTextView в соответствии с моими потребностями?

  1. Простой EditText. Пользователь должен иметь возможность вводить текст в любой момент времени.

  2. onНажмите здесь EditText, всплывающее окно должно появиться на привязке к EditText.

  3. onНажмите здесь EditText, если всплывающее окно уже отображается, а затем отпустите всплывающее окно.

  4. Это всплывающее окно будет содержать список элементов (которые я решаю и не фильтрует) при нажатии на который EditText будет заполнен щелчком элемента.

  5. Когда я начну печатать, всплывающее окно должно исчезнуть.

  6. Я должен быть в состоянии установить анимацию выпадающего списка.

Каковы мои варианты

Очевидно, AutoCompleteTextView. Работала отлично после настройки AutoCompleteTextView. Но были ли две проблемы?

Я смог выполнить пункты 1, 2, 4 и 5. Как обойти это число 3 и число 5?

Поскольку ничего не получалось ...

Я думал, что я могу просто поставить редактировать текст и показать всплывающее окно. :)

Но это не удается полностью ...

Я просто пытался сделать простой путь. Я добавил EditText. И затем я создал класс PopupWindow и завысил список в нем. Затем я привязал его к моему EditText. Теперь проблема снова начинается -

  1. Я нажимаю на EditText. Появится всплывающее окно. Делает все внимание и клавиатура уходит. Определенно не то, что я хочу. Поэтому я сделал всплывающее окно не ориентируемым.

  2. И теперь я нажимаю на EditText, появляется всплывающее окно. Не фокусируется. Поэтому клавиатура остается на вход. Просто идеально, как я хочу. Но когда я нажимаю элемент списка в ListView, он ничего не делает. Зачем? Это не фокусируется!

Так что же мне теперь делать? В каком направлении я иду?

ответ

0

Для 3. вы можете создать слушатель onFocusChange или или onClickListener и явно вызвать _autoCompleteView.dismissDropDown();. Вы можете использовать isPopupShowing(), чтобы узнать, отображается ли он уже в этом случае и вручную.

Для 5. Вы просто делать то же самое, но вы _autoCompleteView.registerDataSetObserver и поставить эту логику в onChanged() случае или, возможно, в addTextChangedListener на вашем AutoCompleteTextView.

Я не совсем уверен, что это функциональность, которую вы искали, но эта тема почти год назад, так что, возможно, это будет полезно для кого-то в будущем.

Смежные вопросы