You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

简单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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:12:47