錯誤堆棧分析
Caused by: java.lang.NullPointerException
at com.example.lianwang.MainActivity.onCreate(MainActivity.java:55)
第 55 行對應:`ZyLine.setText(ZyLines);` 等 `setText` 調用,說明 `ZyLine`、`ZyLeade`、`ZyAb` 等 `TextView` 為 `null`。
根因定位
- 佈局文件不匹配:`setContentView(R.layout.adapter_item)` 加載的佈局中不存在 `zhengyou_list_name`、`zhengyou_list_title`、`zhengyou_list_time` 這些 ID 的控件。
- ID 拼寫錯誤:XML 中 `android:id="@+id/zhengyou_list_name"` 與 Java 代碼 `R.id.zhengyou_list_name` 不一致(大小寫、下劃線)。
- 錯誤的佈局引用:應加載包含詳情控件的佈局(如 `activity_detail.xml`),而非列表項佈局 `adapter_item.xml`。
修復步驟
- 打開 `res/layout/adapter_item.xml`,確認是否包含上述三個 `TextView` 的 ID。
- 若不包含,創建/切換正確的詳情頁佈局文件,並在 `setContentView` 中引用。
- 使用 `LayoutInflater` 複用項佈局時,務必傳入正確父容器:`inflater.inflate(R.layout.adapter_item, parent, false)`。
調試技巧
在 `findViewById` 后立即加斷點或 `Log.d("TAG", "view=" + view)`,為 null 即佈局問題。
Android ListView 空指針異常,setContentView 佈局不匹配,findViewById 返回 null,詳情頁佈局錯誤排查修復。