Работа в Android Studio, и я столкнулся с несколькими небольшими проблемами, поэтому решил, что попрошу совета/помощи.Проблема с бесконечным циклом в студии android
В настоящее время я работаю над небольшим тестирующим приложением, которое позволит пользователям открывать приложение и выбирать практический тест или временный тест (как показано на рисунке 1). Если пользователи выбирают практический тест, у них есть неограниченное время для выбора ответа, и системы сообщают им, правильно ли они выбрали правильный ответ. Если пользователь выбирает время по времени, то система выделяет заданное количество времени, и после каждого вопроса счет добавляется и вычисляется, вот мои проблемы.
1.) Прямо сейчас мой код бесконечно, в идеале (по крайней мере, для временного аспекта). Я хочу, чтобы мой код прошел через 5 вопросов, скорректировав правильные или неправильные на основе выбора пользователей. Затем я хочу отобразить # правильно и правильно.
Итак, мой вопрос в два раза, во-первых, как я могу предотвратить прерывание цикла от бесконечного цикла, поэтому я могу начать записывать итерации как ++ correctAnswer ++ неправильный ответ. И когда придет время для отображения результатов, я должен создать новое действие для отображения результатов.
Android немного запутанный для меня, я надеюсь, что предоставил достаточно информации, и я ценю и помогаю советом.
Спасибо
** Код **
private int currentQuestion;
private String[] questions;
private String[] answers;
private Button answerButton;
private Button questionButton;
private TextView questionView;
private TextView answerView;
private EditText answerText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
public void init()
{
questions = new String[]{"What is the acronym for Computer Science and Information Management?",
"What is the CSIT corse number of the class you are currently in?",
"What Android program do we use to create android applications?"};
answers = new String[]{"CSIT","2250", "Android Studio"};
currentQuestion = -1;
answerButton = (Button)findViewById(R.id.AnswerButton);
questionButton = (Button)findViewById(R.id.QuestionButton);
questionView = (TextView)
findViewById(R.id.QuestionTextView);
answerView = (TextView) findViewById(R.id.AnswerTextView);
answerText = (EditText) findViewById(R.id.AnswerText);
answerButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
checkAnswer();
}});
questionButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
showQuestion();
}});
}
// Display current quesiton
public void showQuestion()
{
currentQuestion++;
if(currentQuestion == questions.length)
currentQuestion =0;
questionView.setText(questions[currentQuestion]);
answerView.setText("");
answerText.setText("");
}
// Return true if answer is correct
public boolean isCorrect(String answer)
{
return (answer.equalsIgnoreCase(answers[currentQuestion]));
}
// Display correct or incorrec results
public void checkAnswer()
{
String answer = answerText.getText().toString();
if(isCorrect(answer))
answerView.setText("You are correct!");
else
answerView.setText("Sorry, the correct answer is "+answers[currentQuestion]);
}}
Где находится петля? я не могу это исправить. – Arslan
Сначала я был смущен. Цикл отсутствует, процесс продолжается при нажатии кнопок. –
Извините, я работал над этим, я был под впечатлением «if (currentQuestion == questions.length)», кроме этого, и мне нужно было добавить что-то вроде if (currentQuestion> 5) finish(); - или сделать какое-то другое действие, это неправильное мышление? –