Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


TextInputLayout y AutoCompleteTextView

Estoy usando TextInputLayout en mi aplicación de Android para lograr ese efecto de etiqueta flotante ordenada para mis campos de entrada. Sé que debo utilizar TextInputEditText también para permitir que las indirectas sean exhibidas cuando en modo del paisaje y la entrada son llena la pantalla entera.

Sin embargo, en algunos de mis campos de entrada he completado el autocompletar usando AutoCompleteTextView (que IMO tiene un nombre realmente inconsistente a ella – "TextView" en lugar de "EditText" – pero eso es otra historia) y que obviamente hereda directamente de EditText . Por lo tanto, no tiene la misma funcionalidad que TextInputEditText .

Así que me pregunto si hay una manera de lograr la misma funcionalidad de pista en el paisaje (sin hacer mi propia aplicación TextInputAutoCompleteTextView , es decir) y también evitar las advertencias de pelusa que se producen. ¿Me estoy perdiendo de algo? Supongo que tengo que no hacer versiones personalizadas de todas las subclases directas e indirectas de EditText para esta cosa específica, por lo que se espera que haga mi propio?

  • Eclipse 3.6 frecuentemente se bloquea durante Content Assist
  • ¿Cómo personalizar el mecanismo de sugerencias automáticas "chips", como se usa en el campo de destinatarios de Gmail?
  • Cómo cambiar las teclas de método abreviado de Autocompletar de Control + Espacio en Eclipse para Android
  • Autocompletar de Android con SQLite LIKE funciona parcialmente
  • Uso de Android AutoCompleteTextView con ArrayAdapter <Objects> en lugar de ArrayAdapter <Strings>
  • Android AutoCompleteTextView con datos de un servicio web, problemas para mostrar la lista de sugerencias
  • Cómo utilizar mapas de google coloca autocompletar api y sugerencias de lista en un listview y no un menú desplegable
  • ¿Actualizar dinámicamente el cuadro de autocompletar en Android?
  • One Solution collect form web for “TextInputLayout y AutoCompleteTextView”

    Un poco tarde, pero sí, tendrás que rodar tu propia implementación. La buena noticia es que esto es bastante sencillo. Así es como se implementó TextInputEditText :

    https://android.googlesource.com/platform/frameworks/support.git/+/master/design/src/android/support/design/widget/TextInputEditText.java

    En consecuencia, aquí es lo que TextInputAutoCompleteTextView podría ser.

     public class TextInputAutoCompleteTextView extends AppCompatAutoCompleteTextView { public TextInputAutoCompleteTextView(Context context) { super(context); } public TextInputAutoCompleteTextView(Context context, AttributeSet attrs) { super(context, attrs); } public TextInputAutoCompleteTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { final InputConnection ic = super.onCreateInputConnection(outAttrs); if (ic != null && outAttrs.hintText == null) { // If we don't have a hint and our parent is a TextInputLayout, use it's hint for the // EditorInfo. This allows us to display a hint in 'extract mode'. final ViewParent parent = getParent(); if (parent instanceof TextInputLayout) { outAttrs.hintText = ((TextInputLayout) parent).getHint(); } } return ic; } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.