Представление Xamarin Autocomplete: отображать раскрывающийся список даже при отсутствии текста

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

Я установил пороговое значение 1 и установил фокус на представление автозаполнения в событии активности onCreate.

autoCompleteView.FocusChange += delegate(object sender, View.FocusChangeEventArgs args)
{
    if (args.HasFocus)
    {
        autoCompleteView.ShowDropDown();
    } 
};

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

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

autoCompleteView.Click += delegate(object sender, EventArgs args) {
    autoCompleteView.ShowDropDown ();
};

Заранее спасибо.


person Venkat    schedule 09.12.2014    source источник


Ответы (1)


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

  1. Вы можете вызвать autoCompleteView.ShowDropDown(); в себе OnCreate (независимо от фокуса), таким образом, приложение загружается с отображением раскрывающегося списка.

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

  1. Подпишитесь на событие TextChanged и вызывайте autoCompleteView.ShowDropDown(); всякий раз, когда текст в EditText равен String.Empty.
person Alex.F    schedule 10.12.2014
comment
Если я вызову autoCompleteView.ShowDropDown() OnCreate, он выдаст исключение. Кроме того, я создал собственный AutocompleteView, который наследует AutoCompleteView, и переопределил метод EnoughToFilter, чтобы он всегда возвращал true. При этом, хотя я очищаю весь текст, раскрывающийся список не закрывается. - person Venkat; 10.12.2014
comment
Тем не менее, всякий раз, когда я касаюсь/щелкаю autocompleteView, раскрывающийся список закрывается. Любая помощь в этом была бы здорово!!! - person Venkat; 10.12.2014