안드로이드 코틀린 뷰페이저의 탭 레이아웃에 아이콘이 하나만 안보여요
조회수 575회
프래그먼트 5개를 이용해서 뷰페이저를 만들었고, 이를 제어하는 탭 레이아웃도 넣었습니다. 각 내용에 맞는 아이콘을 삽입했는데, 첫 4개만 보이고 5번째는 안보이네요 이미지에 문제가 있나 했지만, 같은 이미지를 다른 위치에서 출력하면 출력이 되고, 다른 이미지를 5번째 위치에 넣으면 출력이 안됩니다.
뷰페이저 연결 코드는 다음과 같습니다.
//뷰페이저와 프래그먼트 연결
val fragmentList = listOf(calender(), reviewedMovies(), recommendedMovies(), moviesToWatchLater(), settings())
val adapter = FragmentAdapter(this)
adapter.fragmentList = fragmentList
viewPager.adapter = adapter
// 탭 레이아웃과 연결 icon 출처: flacicon
TabLayoutMediator(tabLayout, viewPager) {tab, position ->
tabLayout.getTabAt(0)?.setIcon(R.drawable.calendaricon)
tabLayout.getTabAt(1)?.setIcon(R.drawable.reviewicon)
tabLayout.getTabAt(2)?.setIcon(R.drawable.recommendicon)
tabLayout.getTabAt(3)?.setIcon(R.drawable.listicon)
tabLayout.getTabAt(4)?.setIcon(R.drawable.settingsicon)
}.attach()
어댑터는 다음과 같습니다.
//// 뷰페이저 어댑터
class FragmentAdapter(fragmentActivity: FragmentActivity) : FragmentStateAdapter(fragmentActivity) {
var fragmentList = listOf<Fragment>()
override fun getItemCount(): Int {
return fragmentList.size
}
override fun createFragment(position: Int): Fragment {
return fragmentList[position]
}
}
진짜 별 쓸데없는짓 다해봤는데 이유를 모르겠습니다. 제발 알려주세요 ㅠㅠ
댓글 입력