первый Вопрос: Question_oceans см. Код ниже. пытаясь иметь пользователь к сведению, что он не может получить «Prevoius» вопрос, когда кнопка нажата, потому что это был первым вопрос»им получает сообщение об ошибке.Ошибка Android Back Button
private Question[] mQuestionBank = new Question[]{
new Question(R.string.question_oceans, true),
new Question(R.string.question_mideast, false),
new Question(R.string.question_africa, false),
new Question(R.string.question_americas, true),
new Question(R.string.question_asia, true),
};
private int mCurrentIndex = 0;
private void updateQuestion() {
int question = mQuestionBank[mCurrentIndex].getTextResId();
mQuestionTextView.setText(question);
}
private void lastQuestion(boolean userPressedPrevious) {
boolean answerIsYes = mQuestionBank[mCurrentIndex].isAnswerTrue();
int messageQuesId = 0;
if (userPressedPrevious == answerIsYes) {
messageQuesId = R.string.not_previous;
} else {
updateQuestion();
}
Toast.makeText(this, messageQuesId, Toast.LENGTH_SHORT).show();
}
private void checkAnswer(boolean userPressedTrue) {
boolean answerIsTrue = mQuestionBank[mCurrentIndex].isAnswerTrue();
int messageResId = 0;
if (userPressedTrue == answerIsTrue) {
messageResId = R.string.correct_toast;
} else {
messageResId = R.string.incorrect_toast;
}
Toast.makeText(this, messageResId, Toast.LENGTH_SHORT).show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
mQuestionTextView = (TextView) findViewById(R.id.question_text_view);
mTrueButton = (Button) findViewById(R.id.true_button);
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkAnswer(true);
}
});
mFalseButton = (Button) findViewById(R.id.false_button);
mFalseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkAnswer(false);
}
});
mPreviousButton = (Button) findViewById(R.id.previous_button);
mPreviousButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCurrentIndex = (mCurrentIndex - 1) % mQuestionBank.length;
updateQuestion();
lastQuestion(true);
}
});
updateQuestion();
mNextButton = (Button) findViewById(R.id.next_button);
mNextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;
updateQuestion();
}
});
updateQuestion();
Добро пожаловать в SO. Когда вы сталкиваетесь пожалуйста, сообщите нам, что говорит об ошибке, и в какой строке оно происходит. – LarsH
Пожалуйста, опубликуйте сообщение об ошибке, выведенное из 'LogCat' - это сделает отладку намного проще. – PPartisan
AndroidRuntime: FATAL EXCEPTION: main Процесс: com.bignerdranch.android.geoquiz, android.content.res.Resources $ NotFoundException: Идентификатор ресурса строки # 0x0 atandroid.content.res.Resources.getText (Resources.java:1334) atandroid.widget.Toast .makeText (Toast.java:379) –