마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

코틀린 안드로이드 FlexBoxLayout 질문있습니다.

0 추천

안녕하세요 레이아웃 질문있어 글 남깁니다.

이런식으로 recyclerView를 배치하고

recyclerView안에 또 저런 식으로 받는 데이터의 개수에 따라

TextView에 배치하려고 FlexLayout을 사용하려고 합니다.

근데 이를 코틀린 파일을 통해 데이터를 받아오려면

activity_main 안에 있는 recyclerView의 안에 있는 FlexboxLayout인 상황인데

이를 코틀린 파일을 통해 코드를 작성하려면 어떻게 해야할까요?

FlexBoxLayout을 건드릴 수 있는 방법이 궁금합니다.

hand (1,150 포인트) 님이 2021년 10월 23일 질문
hand님이 2021년 10월 23일 수정

1개의 답변

+1 추천
 
채택된 답변

보통 하는 방식으로 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);

 

spark (226,420 포인트) 님이 2021년 10월 23일 답변
hand님이 2022년 7월 3일 채택됨
답변 감사합니다 해보도록할게요!!! 감사합니다
...