首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android 模擬器報錯:Unfortunately, App has stopped 之 NullPointerException 定位

     編輯:程式設計疑難解答

錯誤日誌關鍵信息

FATAL EXCEPTION: main
java.lang.NullPointerException
at com.example.uiwidgettest.MainActivity.onClick(MainActivity.java:48)

直接原因

MainActivity.java 第 48 行嘗試調用一個 null 對象的方法或屬性。

常見觸發場景

  1. findViewById 返回 null(ID 錯誤、布局未加載)。
  2. 對象未初始化即調用方法(如 list.setAdapter(null))。
  3. Intent 取值未判空直接使用。

排查步驟

  1. 打開 MainActivity.java 定位第 48 行。
  2. 檢查該行涉及的所有對象引用。
  3. 在調用前添加非空判斷或確保初始化順序正確。

代碼修正示例

// 錯誤示例
Button btn = findViewById(R.id.btn_submit); // 若布局無此 ID,btn 為 null
btn.setOnClickListener(...); // 第 48 行拋出 NPE

// 正確做法
Button btn = findViewById(R.id.btn_submit);
if (btn != null) {
    btn.setOnClickListener(...);
} else {
    Log.e("MainActivity", "btn_submit 未找到,請檢查布局 XML");
}

調試技巧

  • 使用 Android Studio 斷點調試,觀察變量值。
  • 啟用 StrictMode 捕獲主線程違規。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved