简单ViewPager2示例无法运行,仅显示白屏求助
ViewPager2白屏问题修复
你的代码存在致命错误,导致ViewPager2根本没被加载到界面上:
在TestActivity的onCreate方法中,你通过ActivityTestBinding绑定了布局,但调用setContentView时传入了错误的布局资源ID,应该传入binding.root而非R.layout.activity_themes。
修正后的Activity代码:
class TestActivity : AppCompatActivity() { private lateinit var binding: ActivityTestBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityTestBinding.inflate(layoutInflater) // 替换为binding.root,使用ViewBinding对应的布局 setContentView(binding.root) val viewPager2Adapter = MyAdapter(this) binding.viewpager.adapter = viewPager2Adapter binding.viewpager.registerOnPageChangeCallback(object : OnPageChangeCallback() {}) } }
额外检查点(修复后仍异常时参考):
- 确认
activity_test.xml是你提供的包含ViewPager2的布局文件,文件名需与Binding类ActivityTestBinding对应(默认规则为布局文件名转驼峰格式+Binding) - 建议修改
MyAdapter中LayoutInflater的获取方式,改用parent.context替代传入的ctx,避免上下文不一致:val view: View = LayoutInflater.from(parent.context).inflate(R.layout.my_holder, parent, false)
内容的提问来源于stack exchange,提问作者Tom11
相关产品推荐
相关产品推荐

