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

Android开发注册页ViewBinding白屏、setContentView闪退求助

问题排查结果

两个异常均为代码逻辑错误导致,Manifest启动页配置没有问题:

  • ViewBinding写法页面空白:仅执行了布局inflate操作,未将加载完成的根视图设置给Activity,窗口没有挂载任何可显示的视图,因此呈现空白页。
  • setContentView写法闪退:仅加载了布局文件,未初始化ViewBinding实例,后续代码直接访问binding.alreadyHaveAccount时触发空指针异常,导致应用直接崩溃。
修复代码

标准ViewBinding实现(推荐使用)

调整onCreate方法逻辑,inflate完成后必须将根视图传入setContentView完成挂载:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivitySignUpBinding.inflate(getLayoutInflater());
    // 缺少这行就会出现空白页
    setContentView(binding.getRoot());

    getSupportActionBar().hide();

    binding.alreadyHaveAccount.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(SignUpActivity.this, SignInActivity.class);
            startActivity(intent);
        }
    });
}

兼容setContentView的实现

如果要保留setContentView加载布局的写法,必须在setContentView之后绑定布局初始化binding实例,否则会触发空指针:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_up);
    // 缺少这行就会出现空指针闪退
    binding = ActivitySignUpBinding.bind(findViewById(android.R.id.content));

    getSupportActionBar().hide();

    binding.alreadyHaveAccount.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(SignUpActivity.this, SignInActivity.class);
            startActivity(intent);
        }
    });
}
后续异常排查

如果修改上述代码后仍有问题,按以下顺序检查:

  • 核对布局中引用的@drawable/w1、@color/white、@color/chatbackground、@color/fb_color资源是否存在,资源名拼写错误会导致布局解析失败崩溃
  • 确认SignInActivity已在AndroidManifest.xml中注册,跳转未注册的Activity会触发运行时异常
  • 执行Android Studio顶部菜单栏Build > Clean Project清除旧构建缓存后重新运行,避免ViewBinding生成类缓存导致的异常

内容的提问来源于stack exchange,提问作者Agrim Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:03:29