SharedReferences不工作(android.app)。SharedPreferencesImpl@4103cd78&引用;
我试图在MathActivity和ScoreActivity之间传递一个分数整数。在要显示分数的ScoreActivity中,它显示score:android.app。SharedPrefencesImpl@4103cd78.我猜我的SharedReference没有正确设置 MathActivitySharedReferences不工作(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";
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()?