2010-04-30 7 views
32

Tengo dos AutocompleTextViews y quiero pasar al siguiente si el usuario presiona "NEXT" y hacer desaparecer el teclado virtual cuando él golpea "HECHO" en el segundo AutocompleTextView. Hasta el momento, los botones "SIGUIENTE"/"HECHO" no hacen nada ... Desafortunadamente no encontré recursos que aborden este problema.AutocompleteTextView: en "NEXT" resaltar el siguiente TextView, en "DONE", hacer desaparecer el teclado

¿Alguna sugerencia? thx

EDITAR: Solo quiero agregar que esto fue preguntado cuando Android estaba en la versión 2.3 o algo así.

+0

Estoy haciendo algo similar AQUÍ !!! http://stackoverflow.com/questions/12854336/autocompletetextview-backed-by-cursorloader – toobsco42

Respuesta

86

Me encontré con este problema y lo solucioné configurando imeOptions en AutocompleteTextView para actionNext.

Ejemplo:

<AutoCompleteTextView 
    android:id="@+id/dialog_product_name" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:singleLine="true" 
    android:completionThreshold="1" 
    android:imeOptions="actionNext" 
    /> 
+7

Tenga en cuenta que 'android: imeOptions =" ​​actionNext "' lleva al usuario al siguiente campo que aceptará texto. Si desea ir a un botón, luego use 'android: imeOptions =" ​​actionDone "' –

+0

También tome nota de singleLine = true. En mi caso ese fue el problema. ¡Gracias! –

3

He encontrado esta solución para el problema "NEXT": En su opinión código fuente de escribir algo como esto

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_ENTER) { 
    if (firstAutoComplete.hasFocus()) { 
    // sends focus to another field (user pressed "Next") 
    otherText.requestFocus(); 
    return true; 
    } 
    else if (secondAutoComplete.hasFocus()) { 
      // sends focus to another field (user pressed "Next") 
    anotherText.requestFocus(); 
    return true; 
    } 
} 
return false; 
} 

Parece ser un viejo androide http://code.google.com/p/android/issues/detail?id=4208. Aquí encontré mi solución: http://groups.google.com/group/android-developers/browse_thread/thread/e53e40bfe255ecaf.

+0

Si bien esto funciona al implementar su propia vista, también puede salir para agregar un OnKeyListener a través de setOnKeyListener y usar más o menos el mismo código (anular onKey (...)). Me gusta más la respuesta de cebru, ya que usa la forma predefinida, aunque actionNext debería ser la predeterminada cuando se muestre el siguiente botón. – icyerasor

0

Sólo añadir estas dos líneas en AutoCompleteTextView Código xml:

  android:completionThreshold="1" 
      android:imeOptions="actionNext" 
0

No se olvide de añadir inputType = "text" lo contrario tendrá que entra en el botón en lugar de siguiente/hecho uno:

<AutoCompleteTextView 
    android:id="@+id/suppliers" 
    android:layout_width="@dimen/summary_input_width" 
    android:layout_height="wrap_content" 
    android:hint="@string/current_supplier" 
    android:imeOptions="actionNext" 
    android:inputType="text" 
    android:lines="1" /> 
Cuestiones relacionadas