現象
報錯提示找不到 `R.drawable.xxx`,但 `R.java` 已生成。
原因
**未在當前類中導入對應的 `R` 類**。Android 項目可能有多個模塊 (module),每個模塊生成自己的 `R` 類 (包名不同)。若導入了錯誤的 `R` (如 `import android.R;` 或其他模塊的 `R`),當前模塊的資源 ID 自然找不到。
解決
- 刪除錯誤的 `import ...R;` 行。
- 按 Alt+Enter (IntelliJ/AS) 自動導入正確的 `R` (包名為當前模塊 `applicationId`/`packageName`)。
- 或手動添加:`import com.yourpackage.R;`
提問者自述
「解決了,R下的Drawable生成了,但是沒有手動導入那個R文件,所以出錯了!」
常見誤區
- 導入 `android.R` (系統資源) 而非項目資源。
- 多模塊項目導入了 library 模塊的 `R` 而非 app 模塊的。
- Gradle 同步失敗導致 `R` 未生成,但提示通常不同。