Мой код/ситуация:Android: Перемешать переменные и множественным SetText
У меня есть четыре объекта класса String, , названный от mQuestionAnswer1
к mQuestionAnswer4
. Прямо сейчас они отображаются в четырех текстовых видах очень простым способом: tvQuestionAnswer1.setText(mQuestionAnswer1)
и т. Д.
Также необходимо отметить, что ответы можно щелкнуть, и они проверяются, например, когда пользователь нажимает кнопку «Ответ 1», он запускает слушатель и звонки checkAnswer(1)
.
То, что я хочу добиться:
Я хочу, чтобы перетасовать ответы, так что они не получают отображаться каждый раз, когда в том же положении.
У меня есть решение, но я думаю, что это немного сложнее, и я был бы признателен, если вы поможете мне прояснить эту проблему.
Идея:
Я создал массив:
int[] answersArray = {1, 2, 3, 4};
и перемешайте его с моим методом Фишера-Yates называется shuffleArray()
:
shuffleArray(answersArray);
После этого, Я получаю перетасованный массив, и это где проблема начинается. Я не знаю, как отображать mQuestionAnswer1
в TextViews. Я мог бы запустить для петли и , если еще, но это, вероятно, будет огромным преувеличением.
Проверка ответа должна быть, вероятно, проще (должна ...). Когда пользователь нажимает кнопку «Ответ 1», я думаю, что я собираюсь сделать что-то вроде: checkAnswer(answersArray[0])
.
Правильно ли это? Вы хоть представляете, как быстро отобразить mQuestionAnswer
? Все советы были высоко оценены.
хау ваша модель данных, связанная с вопросом и ответом ??? –
@Xoce Я получаю это из своей базы данных с помощью AsyncTask и передаю значения в 'mQuestionAnswer1 ... 4' и' mCorrectAnswer'. Когда ответы нажимаются, у меня есть 4 слушателя, каждый для каждого TextView. Они называют 'checkAnswer (1) ... (4)', и функция сравнивает аргумент 'checkAnswer' с' mCorrectAnswer'. – jwitos
ok ... Я отправлю прямо сейчас ... –