This might sound really stupid but I've created a ViewPager2
within my WelcomeActivity
to show bunch of welcome images telling users about the app. See code below:
class WelcomeActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_welcome)
//What do i write here to hookup my viewpager with the adapter
}
}
private const val ARG_RES_ID = "image_res_id"
private val imageResources = listOf(R.drawable.welcome_0, R.drawable.welcome_1, R.drawable.welcome_2, R.drawable.welcome_3)
class WelcomeViewPagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
override fun getItemCount(): Int = 4
override fun createFragment(position: Int): Fragment {
val fragment = WelcomePageFragment()
fragment.arguments = Bundle().apply {
putInt(ARG_RES_ID, imageResources[position])
}
return fragment
}
}
But I can't figure out how to initialize my WelcomeViewPagerAdapter
to set it to viewpager in my layout file. I don't konw what to pass in. Please help!
Update I tried doing this in my activity's onCreate:
val welcomeViewPagerAdapter = WelcomeViewPagerAdapter(WelcomePageFragment())
welcome_viewPager.adapter = welcomeViewPagerAdapter
But this gives me an error saying: Unable to start activity ComponentInfo{com.mypckg/com.mypckg.WelcomeActivity}: java.lang.IllegalStateException: Fragment WelcomePageFragment{cc672bf (685e8109-8688-4d56-ac1e-4dca4a0f6e06)} has not been attached yet.