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

Android开发:MainActivity中通过ID查找控件报空指针异常求助

Android空指针异常(NullPointerException)问题修复

错误原因

你代码里的btn和txt变量仅声明但未初始化,初始值为null,却直接调用它们的findViewById()方法,这就触发了java.lang.NullPointerException——对null对象调用方法必然导致应用崩溃。正确的控件获取方式是调用当前Activity的findViewById(),将返回的控件实例赋值给变量。

修正后的MainActivity代码

package com.example.app;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity6 extends AppCompatActivity {

    private Button btn;
    private TextView txt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main6);

        // 修正:调用Activity的findViewById获取控件实例,赋值给变量
        btn = findViewById(R.id.button);
        txt = findViewById(R.id.txt);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                txt.setText("This is a new text.");
            }
        });
    }
}

补充说明

  • 你当前的XML布局文件是正确的,setContentView(R.layout.activity_main6)也已正确加载布局,无需修改XML内容。
  • 若使用Android Studio 3.6及以上版本,也可通过**视图绑定(View Binding)**彻底避免此类空指针问题,但上述基础修复已能解决当前崩溃。

内容的提问来源于stack exchange,提问作者Mohammad Reza Zolfaghari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:55:16