<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" />
Ho questo nella parte superiore della mia domanda. All'avvio dell'applicazione, EditText è evidenziato in arancione e contiene un cursore; quando viene toccato EditText, viene visualizzata la tastiera virtuale. L'utente lo usa per digitare in EditText.Android: EditText e Button; quando si fa clic su Button, sfocare EditText e nascondere la tastiera virtuale?
Tuttavia, quando fanno clic sul pulsante, il metodo onClick si attiva e fa tutto ciò che è previsto, tuttavia la tastiera virtuale rimane sullo schermo e il testo è ancora evidenziato con il cursore.
ho anche avere, in cima il pulsante onclick:
findViewById(R.id.name).clearFocus();
Nonostante ciò, l'EditText non sembra per cancellare la sua attenzione. Come faccio a fare in modo che il pulsante agisca come se inviasse il modulo?
Inoltre, non si passa a un'attività diversa al clic del pulsante. Suppongo che sia il caso tipico, e probabilmente il motivo per cui non si preoccupano di nascondere la tastiera. Tuttavia, voglio mantenere la casella di ricerca e il pulsante nella parte superiore dello schermo, in modo da riempire e aggiungere dinamicamente le viste allo schermo quando viene premuto il pulsante.
Come posso ottenere il comportamento desiderato?
Sì, ma è davvero il modo migliore per farlo? – Ricket
Beh, ha funzionato ... Quindi immagino sia okay ... Comunque sembra ancora un hack ... – Ricket
Non è un hack, è come è fatto su tutta la sorgente Android. Presumo che sia destinato all'utente a premere per chiudere l'IME, ma se non lo fanno o se si desidera chiuderlo manualmente, questo è il modo in cui è necessario chiudere l'IME prima che Android lo chiuda da solo. –