RecyclerViewのDividerItemDecorationにカスタムDrawableを設定できません
Aug 24 2020
RecyclerView
アイテムを水平に表示していて、各アイテムの間に間隔を追加したい(ただし、開始または終了ではない)。私はこれを見つけ、公式ドキュメントの例も調べました。varを使用して変数を宣言したにもかかわらず、次のエラーが発生します。

リサイクラービューを次のように構成しました。
myRecyclerView.apply {
layoutManager = myLayoutManager
adapter = myAdapter(data)
addItemDecoration(divider)
}
カスタムドローアブルを設定した行を削除すると、コンパイルされて実行されます。なぜこのエラーが発生するのですか?また、カスタムドローアブルをどのように設定しますか?
回答
GabrieleMariotti Aug 24 2020 at 12:46
それは DividerItemDecoration
public void setDrawable(@NonNull Drawable drawable)
@Nullable public Drawable getDrawable()
これは、setterメソッドがaDrawable
を受け入れ、getterがを返すことを意味しDrawable?
ます。それらが一致しないため、セッターを直接使用する必要があります。
divider.setDrawable(..)
RubekJoshi Aug 24 2020 at 04:57
CommonsWareが指摘しているように、に変更divider.drawable = drawableResource
すると機能しましたdivider.setDrawable(drawableResource)
。