在我的MainActivity中,我有一个textView . 在那个textView中有一个我在SharedPreferences中保留的数字 . 每隔几分钟使用报警管理器更改SharedPreferences,但是我的MainActivity中的SharedPreferences不会改变,任何人都知道为什么?
这是MainActivity中代码的一部分
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
int ReleaseDate = preferences.getInt("com.fisher.freedom.ReleaseDate", 0);
TextView edit = (TextView) findViewById(R.id.DaysLeft);
Toast.makeText(MainActivity.this, "" + preferences.getInt("com.fisher.freedom.ReleaseDate", 0), Toast.LENGTH_SHORT).show();
edit.setText("" + ReleaseDate);
这是AlarmReceiver中的代码
public static final String ReleaseDate_Key = "com.fisher.freedom.ReleaseDate";
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
int ReleaseDate = preferences.getInt(ReleaseDate_Key, 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt(ReleaseDate_Key, --ReleaseDate);
editor.apply();
1 回答
要获取int的值,请使用:
为了保存它使用这个:
有了这个,你忘了在静态变量上写你的包名,它对我有用,所以它适合你 .