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

Android ListView 空指針異常(NullPointerException)深度排查與修復

     編輯:程式設計綜合問答

錯誤堆棧分析

Caused by: java.lang.NullPointerException
at com.example.lianwang.MainActivity.onCreate(MainActivity.java:55)

第 55 行對應:`ZyLine.setText(ZyLines);` 等 `setText` 調用,說明 `ZyLine`、`ZyLeade`、`ZyAb` 等 `TextView` 為 `null`。

根因定位

  1. 佈局文件不匹配:`setContentView(R.layout.adapter_item)` 加載的佈局中不存在 `zhengyou_list_name`、`zhengyou_list_title`、`zhengyou_list_time` 這些 ID 的控件。
  2. ID 拼寫錯誤:XML 中 `android:id="@+id/zhengyou_list_name"` 與 Java 代碼 `R.id.zhengyou_list_name` 不一致(大小寫、下劃線)。
  3. 錯誤的佈局引用:應加載包含詳情控件的佈局(如 `activity_detail.xml`),而非列表項佈局 `adapter_item.xml`。

修復步驟

  1. 打開 `res/layout/adapter_item.xml`,確認是否包含上述三個 `TextView` 的 ID。
  2. 若不包含,創建/切換正確的詳情頁佈局文件,並在 `setContentView` 中引用。
  3. 使用 `LayoutInflater` 複用項佈局時,務必傳入正確父容器:`inflater.inflate(R.layout.adapter_item, parent, false)`。

調試技巧

在 `findViewById` 后立即加斷點或 `Log.d("TAG", "view=" + view)`,為 null 即佈局問題。

Android ListView 空指針異常,setContentView 佈局不匹配,findViewById 返回 null,詳情頁佈局錯誤排查修復。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved