SharedReferences不工作(android.app)。SharedPreferencesImpl@4103cd78&引用;

SharedReferences不工作(android.app)。SharedPreferencesImpl@4103cd78&引用;,android,android-preferences,Android,Android Preferences,我试图在MathActivity和ScoreActivity之间传递一个分数整数。在要显示分数的ScoreActivity中,它显示score:android.app。SharedPrefencesImpl@4103cd78.我猜我的SharedReference没有正确设置 MathActivity public class MathActivity extends Activity { public static final String SAVED_DATA = "savedData";

我试图在MathActivity和ScoreActivity之间传递一个分数整数。在要显示分数的ScoreActivity中,它显示score:android.app。SharedPrefencesImpl@4103cd78.我猜我的SharedReference没有正确设置

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();
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);
评分活动

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();
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);

您的分数将从
perferences
中检索并存储在
score

请参阅:
SCORE=preferences.getInt(“SCORE”,SCORE)

更改:

vScore.setText("Score: " + preferences);

(也不要对变量名使用所有的大写字母,它们通常用于contant)

您应该更改

tvScore.setText("Score: " + preferences);


但是您在哪里为您的share pre设置了一个值?@SimplePlan我是新手,所以我不确定我的SharedReferences是否正确设置?如果您指的是分数整数值,则在回答正确后,它将在MathActivity中设置。
SCORE++;tvScore.setText(“Poäng:+SCORE”)
我认为使用
SharedReferences preferences=this.getSharedReferences(已保存的数据,模式为私有)是一种很好的做法;
。这与你问的问题无关,只是想分享一下信息。@Aniruddha谢谢!我是新手,所以我很感谢得到的任何提示!如果我做了更改,我会收到一条错误消息,说不能对基本类型int调用toString()?