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

Android findViewById 空指針:控件類型不匹配 (Button vs 實際類型)

     編輯:程式設計疑難解答

錯誤現象

Button btn = findViewById(R.id.xxx) 拋出 ClassCastException 或 NullPointerException。

核心原因

**佈局 XML 中該 ID 對應的控件不是 Button**,可能是 TextView、ImageView、EditText 或自定義 View。

排查步驟

  1. 打開對應佈局文件 (layout/xxx.xml)。
  2. 搜尋 android:id="@+id/xxx"。
  3. 確認該標籤名稱:<Button>、<TextView> 等。
  4. 代碼中改為匹配類型:TextView tv = findViewById(R.id.xxx);。

最佳實踐

  • 使用 **View Binding** 或 **Data Binding** 替代 findViewById,編譯期即可檢測類型不匹配。
  • ID 命名規範:btn_ (Button)、tv_ (TextView)、et_ (EditText)、iv_ (ImageView),一眼識別類型。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved