private final Button[] BUTTONS = {
btn1, btn2, btn3,btn4
};
...
btn1 = (Button) this.findViewById(R.id.btn_1);
btn2 = (Button) this.findViewById(R.id.btn_2);
btn3 = (Button) this.findViewById(R.id.btn_3);
btn4 = (Button) this.findViewById(R.id.btn_4);
...
int n = BUTTONS.length;
for(int i=0; i<n; i++) {
if(DEBUG) Log.d(TAG, String.valueOf(i));
BUTTONS[i].setOnClickListener(this);
}
는 NullPointerException을 발생시킵니다. 반면setOnClickListener는 for 루프 내에서만 NullPointerException을 발생시킵니다. 왜?
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
는 정상적으로 작동합니다. 나에게 어떤 의미가 없지.
btn1을 네 번 사용했습니다. btn2, 3 또는 4가 존재하지 않을 수 있습니다 (즉, findViewById가 null을 반환합니다). Btw, 왜 1시에 시작하니? 왜 0이 아니겠습니까? – EboMike
미안, 나는 실험하고 있었다. 지금 코드를 수정했습니다. –