Desidero uno stile ListView RecyclerView con un'intestazione in cima, E non voglio che la vista dell'intestazione venga riciclata, MAI.RecyclerView con LinearLayoutManager con vista dell'intestazione che non ricicla
Sono totalmente nuovo per RecyclerView
e LinearLayoutManager
ma penso che quello che voglio, non dovrebbe essere troppo difficile estendendo LinearLayoutManager
.
Ulteriori informazioni nel caso in cui aveva bisogno, ma penso che quanto sopra è sufficiente:
Ho già un RecyclerView in vista di testa in posizione 0. Quella parte era abbastanza facile con l'aiuto di SO risposte. Ma la vista viene riciclata, causando molti problemi con le viste EditText nell'intestazione (cercando di mantenere l'attenzione, ripristinare l'attenzione, mantenere visibile il caret, non fare cose strane con la funzione di correzione automatica, continuare a digitare mentre EditText è tecnicamente andato/riciclato, ecc.). Quindi la soluzione semplice sarebbe quella di non avere quella vista riciclata, che penso sia possibile con un gestore di layout personalizzato, ma non ho idea da dove cominciare.
Non riesco semplicemente a posizionare la vista dell'intestazione sopra la mia lista, perché voglio farlo scorrere nell'elenco (è troppo alto per essere fissato nella parte superiore dello schermo tutto il tempo).
Sarebbe ancora più semplice assegnare tale posizione a un tipo di vista univoco. Avere 'getItemViewType()' restituisce un valore diverso per posizione '0' da tutte le altre posizioni. Quindi, quella vista non sarà mai riciclata, perché non c'è niente da riciclare, oltre alla posizione '0'. – CommonsWare
Lo faccio già, ma sono abbastanza sicuro che venga riciclato comunque, anche se non sono sicuro al 100% come controllarlo. So che onBind viene chiamato nuovamente per la vista dell'intestazione, ogni volta che scorre fuori dalla vista e poi di nuovo dentro ... quindi questa è una ragione per cui penso che venga comunque riciclata. – eselk
Tutti gli altri bug che sto vedendo, e altri motivi presumo che vengano riciclati, sono simili a ciò che vedresti se hai un EditText con lo stato attivo (tastiera aperta, digitandolo) e lo rimuovi, senza prima dare qualcos'altro al centro. Difficile da spiegare, ma la tastiera/sistema operativo non è felice quando ciò accade. – eselk