陣列 picItems 本身正常,但 RelativeLayout relative 未經 findViewById 初始化即呼叫 setBackgroundResource,導致空指標異常。
RelativeLayout relative; // 未初始化
int[] picItems = {R.drawable.a, R.drawable.b, R.drawable.c};
// ...
relative.setBackgroundResource(picItems[index]); // NPE
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
relative = findViewById(R.id.layout); // 先綁定
// 後續使用 relative 安全
}
setBackgroundResource 行,檢查該行前是否已 findViewById。LayoutInspector 或斷點確認 relative 非 null。by lazy { findViewById(...) } 延遲初始化避免此類錯誤。