我必须同时使用LinearLayoutManager
或FlexbotLayoutManager
取决于 RecyclerView 中的孩子大小。
当我更改LinearLayoutManager
为FlexbotLayoutManager
动态喜欢时:
recyclerView.layoutManager =
FlexibleFlexboxLayoutManager(context).apply {
flexWrap = FlexWrap.NOWRAP
flexDirection = FlexDirection.ROW
}
我面临这个错误:
java.lang.ClassCastException:android.support.v7.widget.RecyclerView$LayoutParams 无法在 com.google.android.flexbox.FlexboxHelper.calculateFlexLines(FlexboxHelper.java:439) 处转换为 com.google.android.flexbox.FlexItem com.google.android.flexbox.FlexboxHelper.calculateHorizontalFlexLines(FlexboxHelper.java:243) 在 com.google.android.flexbox.FlexboxLayoutManager.updateFlexLines(FlexboxLayoutManager.java:955) 在 com.google.android.flexbox.FlexboxLayoutManager.onLayoutChildren( FlexboxLayoutManager.java:731) 在 android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924) 在 android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3336) 在 android.view.View .measure(View.java:22071)
如何修复?