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

Android ListView 點擊項目跳轉並傳遞數據時出現空指針異常

     編輯:程式設計疑難解答

問題描述

在 ListView 的 OnItemClickListener 中獲取項目數據並通過 Intent 傳遞給下一個 Activity,接收方調用 setText() 時拋出 NullPointerException。

原因排查

  1. 傳遞數據無誤(Log 顯示 title、desc 已到達)。
  2. 接收端 TextView 未正確初始化:可能 findViewById 使用錯誤 ID,或布局文件與代碼不匹配。
  3. 檢查是否在 setContentView 之後調用 findViewById。

解決步驟

// 接收 Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail); // 確保布局正確
    TextView tvTitle = findViewById(R.id.tv_title); // ID 必須與 XML 一致
    TextView tvDesc = findViewById(R.id.tv_desc);
    Intent intent = getIntent();
    if (intent != null) {
        String title = intent.getStringExtra("title");
        String desc = intent.getStringExtra("desc");
        if (tvTitle != null) tvTitle.setText(title);
        if (tvDesc != null) tvDesc.setText(desc);
    }
}

調試建議

使用 Log.d 或斷點確認 tvTitle、tvDesc 是否為 null;若為 null,檢查布局 XML 中的 android:id 屬性。

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