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);
}
lancers francs NullPointerException, alors quesetOnClickListener renvoie uniquement NullPointerException à l'intérieur de la boucle. Pourquoi?
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
btn4.setOnClickListener(this);
fonctionne très bien. Cela n'a aucun sens pour moi.
Vous avez utilisé btn1 quatre fois. Peut-être que btn2, 3 ou 4 n'existe pas (c'est-à-dire que findViewById renvoie null)? Btw, pourquoi commencez-vous à 1? Pourquoi pas 0? – EboMike
Désolé, j'expérimentais. J'ai corrigé le code maintenant. –