5

Ho implementato la vista del riciclatore nel cassetto di navigazione in Android. Funziona bene. Sono in grado di passare da un elemento all'altro facendo clic sul punto di vista del riciclatore. ma non sono in grado di cambiare il colore di sfondo per l'oggetto selezionato. Per favore suggeritemi come installarlo. L'ho provato finora.come mostrare la selezione del primo oggetto nella visualizzazione Recycler in Android?

1. Background Selector in RecyclerView Item provato a fare vista riciclatore cliccabile, attivabile ma non ha funzionato

2. http://innodroid.com/blog/post/tracking-selected-item-in-recyclerview

attuata, ma non capiva dove scrivere il codice per cambiare sfondo

Per favore aiutatemi.

+0

può aiutare questo http://amolsawant88.blogspot.in/2015/08/easy-way-to-highlight-selected-rowitem.html –

risposta

-1

La vista Recycler è consigliata quando si dispone di elementi molto grandi & desidera avere un'interfaccia utente personalizzata. Se si desidera visualizzare solo alcuni elementi, si consiglia di utilizzare la Visualizzazione elenco.

+1

Avete qualche riferimento per questo? Non ho mai sentito prima questa argomentazione e non capisco perfettamente il ragionamento che c'è dietro, quindi sarei molto felice di guardare il ragionamento a mio vantaggio. – kha

+3

@TechGuy L'intero punto di 'RecyclerView' è quello di sostituire' ListView'. – Eugene

+0

downvote perché questo non tenta nemmeno di rispondere alla domanda, tanto meno di rispondervi. (Inoltre non sono d'accordo con la supposta raccomandazione, in quanto un chiaro vantaggio dell'utilizzo di RecyclerView è che ti impedisce di commettere gli stessi errori comuni compiuti dagli sviluppatori pigri che implementano ListViews, ma non è la mia ragione per fare downvoting.) Non c'è differenza tra un ListView e RecyclerView che ha qualcosa a che fare con "oggetti di grandi dimensioni" o "un'interfaccia utente personalizzata", quindi raccomandare l'uno sull'altro su quella base non ha alcun senso. –

3

cosa si ha realmente bisogno di capire con RecyclerView è che è non lo stesso controllo come Listview con un adattatore funky.

RecyclerView non presenta molte delle funzionalità 's il ListView e mentre è comprensibile per confrontarlo con un ListView o un GridView (o evento un StaggeredGridView), non deve essere confusa con loro.

Con RecyclerView, le responsabilità di gestione del selettore "cambio sfondo" si basano sul controllo sottostante che lo RecyclerView contiene. È anche lo stesso con onClick e molti altri vantaggi che si ottiene gratuitamente in un ListView.

perché è meglio (o peggio) di usare un RecyclerView ad un ListView è una questione diversa che non voglio andare in, ma per risolvere il problema, al fine di impostare un selettore background sul vostro RecyclerView, aggiungere questo a il layout che si sta gonfiando in ViewHolder (vale a dire la disposizione attuale che viene utilizzato all'interno il RecyclerView, simile al tuo "elemento di elenco riga" che si gonfiano all'interno di un ArrayAdapter se fosse un ListView):

android:clickable="true" 
android:background="?android:selectableItemBackground" 

Quale dovrebbe impostare lo sfondo in modo appropriato.

+0

Sto solo suggerendo se la visualizzazione elenco può fare il lavoro per voi, quindi perché andare per la visualizzazione riciclatore perché è difficile implementare quella funzione di clic e tutto.Per visualizzare l'utente, solo pochi elementi nell'elenco utilizzano la visualizzazione elenco, a meno che non sia richiesto il requisito per visualizzazioni personalizzate. @ Kha – TechGuy

+1

@TechGuy equo abbastanza. Pensavo che ci fosse una raccomandazione ufficiale a riguardo. Mentre sono d'accordo ListView è molto più semplice da usare, RecyclerView ha i suoi vantaggi (come lo swapping molto semplice di 'LayoutManager' e alcuni vantaggi in termini di prestazioni così personali, cerco di usarlo ovunque posso. Può anche essere perché ho speso innumerevoli ore cercando di capire come funzionano, quindi voglio ottenere qualcosa da quelle ore o sono semplicemente un masochista :). – kha

Problemi correlati