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

Android NullPointerException 除錯:Logcat 定位到未初始化的 TextView

     編輯:程式設計綜合問答

錯誤堆疊關鍵行

Caused by: java.lang.NullPointerException
    at com.example.fdc.Medical_Record.onCreate(Medical_Record.java:84)

程式碼第 84 行

Record11.setText(pcomplain); // Record11 從未 findViewById 初始化

根本原因

宣告了 11 個 TextView 變數(Record1~Record11),但 onCreate 中只 findViewById 了前 10 個(Record1~Record10),Record11 仍為 null。

修正

Record11 = (TextView) findViewById(R.id.precord11); // 缺少這行
Record11.setText(pcomplain);

除錯心法

  1. 看 Caused by 找到具體行號
  2. 檢查該行所有物件是否已初始化
  3. 善用 IDE 快捷鍵(如 Android Studio Ctrl+Click 跳轉)

補充建議

  • 使用 ViewBinding 或 DataBinding 避免手寫 findViewById 導致漏寫
  • 陣列/集合管理同類型 View,減少重複變數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved