answers = new EditText[7];
answer1 = (EditText) findViewById(R.id.editText1);
answer2 = (EditText) findViewById(R.id.editText2);
answer3 = (EditText) findViewById(R.id.editText3);
answer4 = (EditText) findViewById(R.id.editText4);
answer5 = (EditText) findViewById(R.id.editText5);
answer6 = (EditText) findViewById(R.id.editText6);
Должно быть:
answers = new EditText[6];
answers[0] = (EditText) findViewById(R.id.editText1);
answers[1] = (EditText) findViewById(R.id.editText2);
answers[2] = (EditText) findViewById(R.id.editText3);
answers[3] = (EditText) findViewById(R.id.editText4);
answers[4] = (EditText) findViewById(R.id.editText5);
answers[5] = (EditText) findViewById(R.id.editText6);
В противном случае вы ничего не добавляете в массив answers
, как уже было сказано. Мне кажется, что вы думаете, что от answer1
до answer6
входят в ваш массив answers
, если у вас нет тех объявлений, которые вы не опубликовали в другом месте Все 6 EditTexts
в вашем массиве answers
в настоящее время null
, что вызывает ваше исключение.
Кроме того, что-то вроде этого было бы более кратким:
int[] editTexts = { R.id.editText1, R.id.editText2, R.id.editText3,
R.id.editText4, R.id.editText5, R.id.editText6 };
EditText[] answers = new EditText[editTexts.length];
for(int i = 0; i < answers.length; i++) {
answers[i] = (EditText)findViewById(editTexts[i]);
}