Android: AutoCompleteTextView con sugerencias predeterminadas

¿Cómo puedo mostrar algunas sugerencias predeterminadas para AutoCompleteTextView antes de que el usuario escriba algo? No puedo encontrar una manera de hacer esto, incluso con la creación de una clase personalizada que se extiende AutoCompleteTextView.

Quiero mostrar sugerencias para valores de entrada comunes para guardar el usuario de escribir.

¿Alguna sugerencia?

Debe subclase AutoCompleteTextView y reemplazar enoughToFilter() para devolver true todo el tiempo. Después de eso puede llamar a performFiltering("",0) (es una función protegida, por lo que puede exportar esta llamada a través de una función pública en su clase).

Algo como eso:

 public class ContactsAutoCompleteTextView extends AutoCompleteTextView { public ContactsAutoCompleteTextView(Context context) { super(context); } public ContactsAutoCompleteTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ContactsAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean enoughToFilter() { return true; } public void temp() { performFiltering("",0); } } 

La respuesta de Itay Kahana es correcta. Lo único que añadiría es que en lugar de crear una función temp (), para anular la función onFocusChanged. Personalmente he usado lo siguiente:

  @Override protected void onFocusChanged (boolean focused, int direction, Rect previouslyFocusedRect) { if(focused) performFiltering("", 0); super.onFocusChanged(focused, direction, previouslyFocusedRect); } 

Si no lo necesita para ser dinámico me iría teniendo una matriz de cadena en los recursos, y luego sólo cargar la matriz cuando el AutoCompleteTextView está a punto de ser visto. Me gusta:

  public class CountriesActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.countries); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, COUNTRIES); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.countries_list); textView.setAdapter(adapter); } private static final String[] COUNTRIES = new String[] { "Belgium", "France", "Italy", "Germany", "Spain" }; } 

Que se puede encontrar en http://developer.android.com/reference/android/widget/AutoCompleteTextView.html

Otra forma que he hecho un par de veces que le permite aprender del usuario es o utilizar una conexión de base de datos con IE un cursor simple. Cuando crea el db, puede insertar algunos valores predeterminados. He aquí un ejemplo con el uso del adaptador de cursor simple: http://androidcommunity.com/forums/f4/how-to-use-autocompletetextview-with-simplecursoradapter-15875/

Editar 1:

Una idea para mostrar la lista antes de que el usuario inicie el tipo es tener un listview simple debajo del EditText. No estoy seguro si usted podría llamar el autocompletetextview para demostrar las sugerencias, debe ser posible de alguna manera. Tal vez usted necesita para crear su propia clase autocompletetextiew.

  • AutocompleteTextView de Android con ArrayAdapter y Filter
  • Quitar sombra de Autodesplegable de AutoCompleteTextView
  • SearchView quita la línea de enfoque azul y muestra el cursor en determinada posición
  • Cómo configurar el tamaño de un resultado AutoCompleteTextView?
  • Android: restringir al usuario para seleccionar sólo texto de autocompletado
  • AutoCompleteTextView - Mostrar sugerencias después de la selección
  • AutoCompleteTextView con lista personalizada: cómo configurar OnItemClickListener
  • Diseño personalizado de Android para AutoCompleteTextView
  • Google Place API - autocompletar - cómo obtener código postal?
  • IllegalStateException - Apoyo LoaderManager con AutocompleteTextView
  • El teclado oculta el menú desplegable AutoCompleteTextView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.