RecyclerView.ViewHolder del setIsRecyclable() func

0

Domanda

Voglio impostare il mio punto di vista titolare per non riciclare, ecco il codice:

@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
    viewHolder.setIsRecyclable(false);
}

Tuttavia, quando vedo la documentazione qui: https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#setIsRecyclable(boolean)è scritto che il setIsRecycleable() deve sempre essere abbinato e non ho alcuna idea su questo. C'è qualcuno che può fornire un codice di esempio per questo caso? Quando devo chiamare il setIsRecyclable(vero) di nuovo? Grazie.

enter image description here

3
0

Non riciclare il ViewHolder significa solo che specifici ViewHolder sarà trattenuta e non sovrascritto quando c'è una nuova data per l'associazione, il problema è che la Adapter sarà quindi necessario fornire un altro ViewHolder per rendere per quello che è non può riutilizzare.

Che è il motivo per cui è necessario, infine, lasciare riciclare cioè setIsRecycleable(true) perché e ' un pò sconfigge il punto di RecyclerView se si finisce per dover creare nuovi punti di vista per rappresentare i dati.

Una ragione si potrebbe desiderare di disattivare il riciclo è quello di evitare interruzioni, forse il ViewHolder è la riproduzione di un'animazione, o il caricamento di un video. Una volta fatto si può quindi accendere il riciclo, per rilasciare il ViewHolder per assicurarsi che può essere utilizzato nuovamente.

2021-11-24 06:12:08
0

È meglio utilizzare la Listview in questo caso. Tutto il significato della recyclerview è riciclare la vista. Altro vedere questo post https://stackoverflow.com/a/36275862/3094367

2021-11-24 06:03:40
0

In realtà il riciclo è legato a viewType.
Basta cambiare ogni elemento è unico
come:

@Override
public int getItemType(int position){
    return position
}
2021-11-24 06:28:44

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................