<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="1"
android:id="@+id/name" android:singleLine="true"
android:maxLength="12" android:capitalize="none" android:inputType="text" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/search_button"
android:text="Search" />
Tengo esto en la parte superior de mi aplicación. Cuando se inicia la aplicación, EditText está resaltado en naranja y tiene un cursor; cuando se toca EditText, aparece el teclado virtual. El usuario lo usa para escribir en EditText.Android: Editar texto y botón; al hacer clic en Botón, desenfocar EditText y ocultar el teclado virtual?
Sin embargo, cuando hacen clic en el botón, mi método onClick se dispara y hace todo lo que se supone que debe hacer; sin embargo, el teclado permanece en la pantalla y EditText sigue resaltado con el cursor.
que también tienen, en la parte superior del botón onclick:
findViewById(R.id.name).clearFocus();
A pesar de esto, no parece que el EditarTexto para aclarar su enfoque. ¿Cómo hago que el botón realmente actúe como si estuviera enviando el formulario?
Además, no hago la transición a una actividad diferente al hacer clic en el botón. Supongo que ese es el caso típico, y probablemente la razón por la que no se molestan en esconder el teclado. Sin embargo, quiero mantener el cuadro de búsqueda y el botón en la parte superior de la pantalla, de modo que simplemente llene y agregue dinámicamente las vistas a la pantalla cuando se presiona el botón.
¿Cómo puedo lograr mi comportamiento deseado?
Sí, pero ¿realmente es la mejor manera de hacerlo? – Ricket
Bueno, funcionó ... Así que supongo que está bien ... Todavía parece un hack ... – Ricket
No es un truco, es cómo se hace en toda la fuente de Android. Supongo que está destinado para que el usuario presione para cerrar el IME, pero si no lo hace o si desea cerrarlo manualmente, entonces así debe cerrar el IME antes de que Android lo cierre por sí solo. –