[android/kotlin] RecyclerView이 보이지 않을 때
안드로이드에는 RecyclerView가 보이지 않은 경우가 있었습니다. 이때 디버그를 해보니 onCreateViewHolder 도 호출이 안돼서 찾아보니 결론은 레이아웃의 형태를 가로 형태로 보여줄 것인지, 세로 형태로 보여줄 것인지 아니면 그리드 형태로 보여줄 것인지 정해주지 않아서였던 것 같습니다.
해결 방법으로는 레이아웃의 형태를 설정해 주면 됩니다.
.xml에서 설정하는 방법
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recyclerview"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:orientation="vertical"
tools:listitem="@layout/item_recycler_ex"
app:layout_constraintRight_toRightOf="parent"/>
해당 코드에서 app:layoutManager로 androidx.recyclerview.widget.LinearLayoutManager 을 설정해주고, android:orientation으로 vertical을 설정해주면 됩니다. LinearLayoutManager 말고도 GridLayoutManager(그리드 형식), StaggeredGridLayoutManager(지그재그 그리드 형식)을 설정할 수 있습니다.
.kt에서 설정하는 방법
recyclerView = view.findViewById(R.id.리사이클러뷰);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
리사이클러뷰의 객체에 Layout을 직접 설정해주는 방법입니다. 마찬가지로 위의 코드에서는 LinearLayoutManager 방식을 사용했지만 GridLayoutManager와 StgaggeredGridLayoutManager도 사용 가능합니다.
'개발 > 안드로이드-kotlin' 카테고리의 다른 글
[android/kotlin] Ble5.0 extension advertising 을 스캔하기 (0) | 2022.11.26 |
---|---|
[android/kotlin] Intent는 무엇인가? (0) | 2022.08.13 |