2015-07-03 6 views
8

Ho un RecyclerView che utilizza LinearLayoutManager dove ciascuna delle schede figlio contiene una WebView. Carico i dati in WebView usando il metodo loadData(). Le cose funzionano bene quando sto scorrendo verso il basso l'elenco, ma quando scorro verso il basso abbastanza da far riciclare le viste precedenti, ottengo problemi quando eseguo il backup.È possibile precaricare i dati in WebViews nei figli di RecyclerView?

Quando RecyclerView ricollega il figlio sopra riportato, ricarica i dati in WebView, ma non lo ricarica fino a quando WebView non viene visualizzato sullo schermo. Quando WebView carica i suoi dati, spinge tutti i bambini sottostanti nello schermo. Quindi, invece di visualizzare lentamente la parte inferiore della WebView sullo schermo mentre si scorre, l'intera WebView salta allo schermo nella parte superiore di WebView. È molto stridente e non è affatto liscio.

C'è un modo per dire all'adattatore o al gestore di layout di caricare WebViews in anticipo? Sarei felice con la mia app se il RecyclerView scorresse senza intoppi, ma al momento è praticamente inutilizzabile ogni volta che eseguo il backup.

+0

se le vostre opinioni vengono riciclati poi io non credo che ci sia un modo per farlo. sarà il comportamento predefinito, ma non dovresti affrontare alcun problema durante il backup a scorrimento. controlla il codice due volte e posta qui se è possibile –

risposta

2

So che questa è una vecchia domanda, ma ci siamo imbattuti in caso di ricerca di un'altra risposta. Prova a impostare la dimensione della cache della vista dell'elemento più in alto.

RecyclerView.setItemViewCacheSize(int cacheSize)

+0

Qual è il valore predefinito? –

Problemi correlati