Я работаю над симулятором игры в кости (мой второй в истории проект по выяснению всего). У меня есть пять изображений кубиков и переменные для них в массиве, который я хочу просмотреть. Android Studio дает мне исключение NullPointerException в разных точках случая Switch, и я не могу понять, почему. Вот мои переменные и массив, включающий метод:
private ImageView imageViewDiceOne;
private ImageView imageViewDiceTwo;
private ImageView imageViewDiceThree;
private ImageView imageViewDiceFour;
private ImageView imageViewDiceFive;
private ImageView[] imageViewDice = new ImageView[]{imageViewDiceOne, imageViewDiceTwo,
imageViewDiceThree, imageViewDiceFour, imageViewDiceFive};
private Button mButtonThrow;
private int diceValue;
private int rollDice() {
this.diceValue = (int) (Math.random() * 6) + 1;
return this.diceValue;
}
private void setImageViewDice(){
for(int i = 0; i < imageViewDice.length; i++) {
switch (rollDice()) {
case 1:
imageViewDice[i].setImageResource(R.drawable.dice1);
break;
case 2:
imageViewDice[i].setImageResource(R.drawable.dice2);
break;
case 3:
imageViewDice[i].setImageResource(R.drawable.dice3);
break;
case 4:
imageViewDice[i].setImageResource(R.drawable.dice4);
break;
case 5:
imageViewDice[i].setImageResource(R.drawable.dice5);
break;
case 6:
imageViewDice[i].setImageResource(R.drawable.dice6);
break;
}
}
}
И это мой OnClickListener:
mButtonThrow = findViewById(R.id.button_throw);
mButtonThrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View viewFiveDice) {
setImageViewDice();
}
});
И вот мое исключение (строка 45 была 5-го случая коммутатора, ноэто менялось при каждой попытке, и строка 68 - это мой OnClickListener):
java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.widget.ImageView.setImageResource(int)' on a null object reference
at com.example.dice.FiveDice.setImageViewDice(FiveDice.java:45)
at com.example.dice.FiveDice.access$000(FiveDice.java:10)
at com.example.dice.FiveDice$1.onClick(FiveDice.java:68)
Спасибо за помощь новичку.