这听起来可能很愚蠢,但我ViewPager2
在我的内部创建了一个WelcomeActivity
显示一堆欢迎图像,告诉用户有关该应用程序的信息。请参见下面的代码:
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
}
}
但我不知道如何WelcomeViewPagerAdapter
在我的布局文件中初始化我以将其设置为 viewpager。我不知道要传递什么。请帮忙!
更新我尝试在我的活动的 onCreate 中这样做:
val welcomeViewPagerAdapter = WelcomeViewPagerAdapter(WelcomePageFragment())
welcome_viewPager.adapter = welcomeViewPagerAdapter
但这给了我一个错误说: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.