Как динамически добавлять предложения в autocompletetextview с сохранением статуса персонажа
Описание проблемы:
Я столкнулся с некоторой проблемой с AutoCompleteTextView, где я должен показывать предложения после каждого нажатия клавиши. Дело в том, что список предложений является динамическим, как функция предложений Google. Это означает, что новые предложения должны быть добавлены, так как пользователь продолжает вводить, а также должны отображаться все соответствующие старые предложения.
Например
Я пишу «te», и тогда он должен отображать предыдущие предложения, такие как «test1» и «test2» и новые предложения, которые я получу от Web API. Предположим, веб-интерфейс дает мне слово «чай» и «напряжение».
Теперь AutoCompleteTextView будет иметь «te» в виде строки со всеми четырьмя подсказками, показанными под ним.
Это именно то, что я ищу.
выглядит просто, но демонстрирует странное поведение.
Я использую экземпляр класса ArrayAdapter по умолчанию, который я объявляю глобально.
arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,suggestions);
word.setAdapter(arrayAdapter);
предложения ArrayList.
Получив новый результат от WebApi, я просто звоню
arrayAdapter.notifyDataSetChanged();
обновить данные наблюдателя и представления, связанные с этим (в нашем случае AutoCompleteListView).
Но это закрывает предложения.
Когда я не пользуюсьnotifyDataSetChanged();
он показывает все предложения независимо от того, какие символы я набрал.
Я попробовал это с пользовательским фильтром, как предлагали многие, но ни один из них не помог, так как я не мог использовать notifyDataSetChanged ().
Я размещаю изображение, чтобы избежать путаницы.
У меня путаница, почемуnotifyDataSetChanged();
это не работает. Я не использовал никакой другой ссылки на список с тем же экземпляром arrayAdapter. Я действительно сомневаюсь, что это справочная проблема.