2012-07-30 22 views
5

Estoy usando AutoCompleteTextView en mi aplicación con un adaptador personalizado y funciona perfectamente en modo retrato. En el modo horizontal, sin embargo, el teclado del software ocupa la mayor parte de la pantalla y la vista de texto usa botones superpuestos en lugar de Vistas proporcionadas por el adaptador.AutoCompleteTextView insinúa en modo horizontal

No pude encontrar una documentación clara sobre cómo funciona esto detrás de las escenas. Parece que en modo apaisado AutoCompleteTextView omite el método getView() del adaptador, funciona un poco usando getItem() y procesa los elementos usando cadenas sin formato.

Para empeorar las cosas, parece que en AutoCompleteTextView está presentando accualy dos listas de sugerencias de autocompletado: Botones desplegable y superposición estándar en el mismo tiempo (esto es bien visible si nos fijamos imeOptions a flagNoExtractUi para evitar AutoCompleteTextView la expansión en el paisaje) .

Me gustaría proporcionar mis propias vistas en AMBAS situaciones, pero logré hacerlo solo para el menú desplegable hasta el momento. ¿Algún cambio para proporcionar vistas personalizadas para la lista superpuesta?

Lo siento, pero todavía no puedo publicar imágenes por su baja clasificación. Puedo enviarlos si alguien los necesita.

+0

me puede ayudar con esto http://stackoverflow.com/questions/29046302/how-to-implement-autocompletetextview-with-listview –

Respuesta

0

Acabo de encontrar este problema yo mismo. Como dijiste, en el paisaje, TextView basa sus consejos de autocompletado en el resultado de getItem(). Realmente no veo una manera de proporcionar algo más que texto en este escenario, pero una solución simple para obtener el texto correcto para mostrar en el paisaje es anular toString() para el objeto que está basando la sugerencia.

Por ejemplo, en mi escenario estoy usando una lista de objetos de contacto para rellenar mis consejos de autocompletar, así que eliminé toString() en mi clase de contacto para que muestre "Nombre apellido" en lugar de una representación de objeto sin formato como "Contacto @ a2a6d4d3a5. "

+0

Hay una [mejor solución] (http://stackoverflow.com/a/12934794/2469901) que cambiar el modo de trabajo aString(), que uno podría desear implementar de forma diferente que para este escenario. – Skytile

Cuestiones relacionadas