Reputation:
I'm trying to pass a score integer between MathActivity and ScoreActivity. In ScoreActivity where the score is to be displayed, it says Score: android.app.SharedPrefencesImpl@4103cd78. I'm guessing that my SharedPreferences isn't correctly setup?
MathActivity
public class MathActivity extends Activity {
public static final String SAVED_DATA = "savedData";
private int SCORE = 0;
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_math);
SharedPreferences preferences = getSharedPreferences(SAVED_DATA,MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("SCORE", SCORE);
editor.commit();
ScoreActivity
public class ScoreActivity extends Activity {
public static final String SAVED_DATA = "savedData";
private int SCORE = 0;
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_score);
SharedPreferences preferences = getSharedPreferences(SAVED_DATA,MODE_PRIVATE);
SCORE = preferences.getInt("SCORE", SCORE);
TextView tvScore = (TextView)findViewById(R.id.tvscore);
tvScore.setText("Score: " + preferences);
Upvotes: 0
Views: 384
Reputation: 19790
Your score is retrieved from perferences
and stored in SCORE
.
See: SCORE = preferences.getInt("SCORE", SCORE)
Change:
vScore.setText("Score: " + preferences);
to
vScore.setText("Score: " + Integer.toString(SCORE));
(Also don't use ALL CAPS for variable names, those are usily used for contants)
Upvotes: 1
Reputation: 446
you should change
tvScore.setText("Score: " + preferences);
to
tvScore.setText("Score: " + SCORE );
Upvotes: 1