elemento ListView Android evidenziare a livello di codice
-
19-09-2019 - |
Domanda
Lo so che è stato chiesto in giro ma non ho ancora trovato abbastanza la risposta (una novità per Android in modo dispiaciuto per l'ignoranza)
lancio dell'attività di mio app ha un EditText (chiamato searchbox), un controllo ListView (designazioni) e un filatore (tipi)
I utilizzare l'EditText come searchbox, devo passare la corda attraverso un montaggio personalizzato per rendere la ricerca più flessibile. Dopo di che ho match che contro l'approssimazione più vicina trovo 'designazioni' e fare
designations.setSelection(j);
Come previsto, questa imposta la voce desiderata per la parte superiore delle denominazioni. Ma non riesco a trovare un modo per evidenziarlo tramite codice.
Ora, io so che se il dispositivo è in modalità touch non si verifica l'evidenziazione di un elemento selezionato. Così le ultime 4 righe di evento OnTextChanged del mio searchbox sono:
designations.setFocusable(true);
designations.setFocusableInTouchMode(true);
if (match==true) designations.setSelection(j);
if (st.length()==0) designations.setSelection(0);
senza alcun risultato.
Ora, io non ho alcun codice sul afterTextChanged di searchbox (modificabile s);
così qualcuno potrebbe darmi un indizio su questo?
saluti ~ Dh
Soluzione
controllare requestFocus () e forse requestChildFocus ()
Altri suggerimenti
Hai provato impostando la View
effettivo da selezionare?
designations.setSelection(j);
designations.getSelectedView().setSelected(true);