Проблема в том, что FlexboxLayoutManager
переопределяет только generateLayoutParams(Context c, AttributeSet attrs)
, но не переопределяет generateLayoutParams(ViewGroup.LayoutParams lp)
Таким образом, решение реализует этот метод:
class SafeFlexboxLayoutManager : FlexboxLayoutManager {
constructor(context: Context) : super(context)
constructor(context: Context, flexDirection: Int) : super(context, flexDirection)
constructor(context: Context, flexDirection: Int, flexWrap: Int) : super(context, flexDirection, flexWrap)
constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(
context,
attrs,
defStyleAttr,
defStyleRes
)
override fun generateLayoutParams(lp: ViewGroup.LayoutParams): RecyclerView.LayoutParams {
return FlexboxLayoutManager.LayoutParams(lp)
}
}