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

Android应用持续崩溃求助:调试测试后问题仍未解决

问题原因及解决方案

你遇到的崩溃是空指针异常(NullPointerException),根源在于你在Activity类的成员变量声明阶段直接调用findViewById()——此时布局还未加载(setContentView()还没执行),findViewById()会返回null,后续调用setOnClickListener()时就会触发崩溃。

修正后的MainActivity代码

package com.example.galleryapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button downloadfileactivity;
    Button viewfileactivity;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 将按钮初始化移到setContentView之后
        downloadfileactivity = findViewById(R.id.downloadfile_activity);
        viewfileactivity = findViewById(R.id.viewfile_activity);

        downloadfileactivity.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, DownloadFileActivity.class));
                finish();
            }
        });

        viewfileactivity.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this, ViewFileActivity.class));
                finish();
            }
        });

    }
}

额外检查点

  • 确认DownloadFileActivity和ViewFileActivity已在AndroidManifest.xml中注册,未注册也会导致启动时崩溃
  • 若问题仍存在,查看Logcat的崩溃栈信息,会明确标注异常类型和触发位置

内容的提问来源于stack exchange,提问作者M. Hayyan Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:31:09