Impossibile impostare Custom Drawable per DividerItemDecoration per RecyclerView
Ho una RecyclerView
visualizzazione degli elementi in orizzontale e voglio aggiungere la spaziatura tra ogni elemento (ma non all'inizio o alla fine). Ho trovato questo e ho anche guardato l'esempio dai documenti ufficiali e anche se ho dichiarato la variabile usando var ottengo il seguente errore:

Ho configurato la mia vista riciclatore come segue:
myRecyclerView.apply {
layoutManager = myLayoutManager
adapter = myAdapter(data)
addItemDecoration(divider)
}
Si compila e viene eseguito quando rimuovo la riga in cui ho impostato il mio disegnabile personalizzato. Perché ricevo questo errore e come si imposta un disegnabile personalizzato?
Risposte
Succede perché in DividerItemDecoration
public void setDrawable(@NonNull Drawable drawable)
@Nullable public Drawable getDrawable()
Significa che il metodo setter accetta un Drawable
po 'di tempo il getter restituisce un file Drawable?
. Dal momento che non corrispondono devi usare direttamente il setter:
divider.setDrawable(..)
Come sottolineato da CommonsWare, ha funzionato dopo essere passato divider.drawable = drawableResource
a divider.setDrawable(drawableResource)
.