Во-первых, мне жаль, если это дубликат, я искал и не нашел ответа.
Я пытаюсь вести счет по нескольким действиям.Пользователь запускает MainActivity, выбирает вопрос для ответа и перенаправляется на это действие.Пользователь получает балл за правильный ответ и возвращается в MainActivity для выбора нового вопроса.
Он правильно оценивает вопросы, но не сохраняет результаты между вопросами.
Основная деятельность
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences settings = getSharedPreferences("userScore", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("score", userPoints);
editor.commit();
};
Q1 (эта логика одинакова для каждого вопроса. Она запускается нажатием кнопки)
private SharedPreferences settings;
private int userPoints;
private int points;
public void submitAnswer (View view) {
if (correctAnswer.isChecked()) {
userPoints = userPoints + 1;
} else {
userPoints = userPoints;
}
settings = getSharedPreferences("userScore", Context.MODE_PRIVATE);
points = settings.getInt("score", userPoints);
Toast.makeText(this, "Answer saved", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Q1.this, MainActivity.class);
startActivity(intent);
}
Я очень новичок в этом, и я знаю, что что-то упустил, я просто не могу понять, что это такое.Любая помощь очень ценится.
*** РЕДАКТИРОВАТЬ ****
Это кнопка для вызова счета, и она все еще считает только 1 из 6 баллов.
private int userPoints;
TextView pointsAwarded;
ImageButton home;
Button check;
int points;
SharedPreferences settings;
check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
settings = getSharedPreferences("userScore", Context.MODE_PRIVATE);
points = settings.getInt("score", userPoints);
pointsAwarded.setText(String.valueOf(points));
}
});