보통 하는 방식으로 ViewHolder를 통해 접근하시던가 데이터를 보여주는 부분을 ViewHolder에 위임하세요. 개인적으로는 구현에 대한 정보를 외부로부터 감추기 때문에, 후자가 더 좋은 접근방법이라고 생각합니다.
class MyAdapter : RecyclerView.Adapter<MyViewHolder> {
override fun onBindViewHolder (MyViewHolder holder, int position) {
holder.bind(getItem(position))
}
}
class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
private val flexBoxLayout by lazy { itemView.findViewById(R.id.flexBoxLayoutId) }
public fun bind(ItemType item) {
// 뷰에 데이터를 보여주는 코드
flexBoxLayout....
}
}
그리고 리사이클러뷰는 FlexLayoutManager와 함께 사용할 수 있다고 되어 있네요.
RecyclerView recyclerView = (RecyclerView) context.findViewById(R.id.recyclerview);
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(context);
layoutManager.setFlexDirection(FlexDirection.COLUMN);
layoutManager.setJustifyContent(JustifyContent.FLEX_END);
recyclerView.setLayoutManager(layoutManager);