Список выбора отключен в AutoCompleteTextView в диалоге

У меня есть диалоговое окно, которое охватывает 1/3 всей высоты экрана и отображается поверх моей активности. Диалоговое окно содержит два поля AutoCompleteTextView.

Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь начинает вводить что-то в AutoCompleteTextView, список со всеми предложениями отображается только в нижней части диалогового окна, но не выходит за рамки этого, даже если список длиннее. Похоже, он отрезан. (Снимок экрана слева)

Только после того, как я долгое время нажимаю элемент из списка предложений, список будет показан в полном объеме. (Снимок экрана справа)

Снимок экрана : http://img704.imageshack.us/i/dialogdropdown.png/ снимок экрана http://img704.imageshack.us/img704/1893/dialogdropdown.png

Как исправить это поведение, чтобы список отображался в полном объеме с самого начала, когда пользователь начинает вводить что-то?

По коду нет ничего особенного, все, что я делаю:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getContext(), R.layout.nav_route_autocomplete_row, locStrings); AutoCompleteTextView txtStartPos = (AutoCompleteTextView) findViewById(R.id.txtStartPos); txtStartPos.setAdapter(adapter); ... 

Одна из обходных идей заключается в том, чтобы каким-то образом отправить событие движения, чтобы имитировать касание (но затем не отбирать) одного из элементов списка. Любая конкретная идея в коде для решения, кто-нибудь?

Сейчас я предполагаю, что это ошибка, которую я уже зарегистрировал здесь: http://code.google.com/p/android/issues/detail?id=9917

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

Редактировать:

Один из обходных решений, который пришел мне на ум, теперь состоит в том, чтобы расширить диалог до самого нижнего края экрана, но оставить фон прозрачным, поэтому он выглядит так же, как сейчас, но на самом деле имеет высоту, которая не отрезала бы список. Я попробую попробовать …

Не так давно я столкнулся с этой проблемой. У меня был небольшой диалог с AutoCompleteTextView , в котором было более 10 элементов в списке Drop Down. Этот список был отрезан. Мое решение было:
Поместите некоторый пустой View в мой файл диалога с параметрами

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Some Views placed here --> <View android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> </LinearLayout> 

Это сделало мой маленький диалог похожим на полноэкранный диалог, но на самом деле этот «хвост» не был показан, и мой DropDown не был вообще отрезан, потому что у него было достаточно места для отображения элементов списка из DropDown.

Просто выстрел в темноте, но вы пробовали настроить android:clipChildren на false в представлении для диалога на вашем мероприятии?

Я успешно достиг этого, но это некрасиво.

Я закончил переопределять мой SimpleCursorAdapter.newView() , идя вверх по иерархии ViewParent пока не достиг корневого View , а затем изменил его WindowManager.LayoutParams с помощью FLAG_LAYOUT_NO_LIMITS флаге FLAG_LAYOUT_NO_LIMITS .

Это нужно переделать каждый раз, когда отображается раскрывающийся список.

Как видно здесь: прокрутка выпадающего меню над клавиатурой в autocompletetextview

Вы можете использовать свойство android: dropDownHeight из AutoCompleteTextView, чтобы заставить его иметь определенную высоту. На самом деле это не решает проблему, но это лучшее, что я могу найти.

Примечание. Эта проблема возникает только при использовании AutoCompleteTextView внутри диалогового окна . Когда он используется в макете действия или фрагмента, он просто отлично работает.

Эта проблема присутствует от Gingerbread до Jelly Bean.