Cómo agregar dinámicamente sugerencias a la vista de autocompletar y mantener el estado del personaje

Descripción del problema:

Estoy enfrentando algún problema con AutoCompleteTextView donde tengo que mostrar sugerencias después de cada pulsación de tecla. La cosa es que, la lista de sugerencias es dinámica como la función de sugerencias de google. Esto significa que las nuevas sugerencias deben agregarse a medida que el usuario continúa escribiendo, además de que se deben mostrar todas las sugerencias anteriores coincidentes.

Por ejemplo

Escribo "te" y luego debería mostrar sugerencias anteriores como "test1" & "test2" y las nuevas sugerencias que obtendré de la API web. Supongamos que la web api me da la palabra "té" y "tensión".

Ahora, AutoCompleteTextView tendrá "te" como cadena con las cuatro sugerencias que se muestran debajo.

Esto es exactamente lo que estoy buscando.

Parece simple pero está mostrando un comportamiento extraño.

Estoy usando la instancia de la clase ArrayAdapter predeterminada que estoy declarando globalmente.

arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,suggestions);
word.setAdapter(arrayAdapter);

sugerencias es ArrayList.

Al obtener un nuevo resultado de WebApi simplemente llamo

arrayAdapter.notifyDataSetChanged();

para actualizar el observador de datos y las vistas adjuntas con esto (en nuestro caso, AutoCompleteListView).

Pero cierra sugerencias.

Cuando no usonotifyDataSetChanged(); Está mostrando todas las sugerencias, independientemente de los caracteres que he escrito.

Lo intenté con un filtro personalizado como muchos sugirieron, pero ninguno de ellos es útil, ya que no pude usar notifyDataSetChanged ().

Estoy publicando una imagen para evitar confusiones.

Tengo una confusión de por quénotifyDataSetChanged(); no funciona. No he usado ninguna otra referencia de lista con la misma instancia de arrayAdapter. Realmente dudo si es un problema de referencia.

Respuestas a la pregunta(2)

Su respuesta a la pregunta