如何从另一个 activity 覆盖共享首选项中的整数
How to overwrite an integer in shared-preferences from another activity
我想制作一个计步器,您可以在其中手动更改另一个 activity 中的步数。如何从另一个 activity 更改存储在 sharedpreferences 中的整数?
原始值放在 main_activity 的 sharedpreferences 中,而不是我想使用 edit_activity 手动输入覆盖 sharedpreferences 中的值的值。
我试图覆盖它,方法是使用与 main_activity 中相同的代码和其他值一起放入。
SharedPreferences.Editor editor = getSharedPreferences("sharedpreft", Context.MODE_PRIVATE).edit();
int newyesterday = Integer.parseInt(yesterdayinput.getText().toString());
editor.putInt("stepsyesterday", newyesterday);
int newdaybeforeyesterday = Integer.parseInt(daybeforeyesterdayinput.getText().toString());
editor.putInt("stepsdaybeforeyesterday", newdaybeforeyesterday);
editor.apply();
此代码不会导致错误,但应用程序会在尝试覆盖值时崩溃。
我还发现了另一个类似的问题,这里没有使用编辑器,只有.edit和.apply。然而,这似乎不适用于整数。
SharedPreferences sharedprefs = getSharedPreferences("sharedprefs", Activity.MODE_PRIVATE);
int newtoday = Integer.parseInt(todayinput.getText().toString());
sharedprefs.edit("stepstoday", newtoday).apply();
此代码导致错误提示 edit() 无法应用于 (java.lang.String, Int)。
更准确的说是"the IDE is linting",不能申请...
SharedPreferences sharedprefs = getSharedPreferences("sharedprefs", Context.MODE_PRIVATE);
int newtoday = Integer.parseInt(todayinput.getText().toString());
SharedPreferences.Editor prefEditor = sharedprefs.edit();
prefEditor.putInt("stepstoday", newtoday).apply();
问题是,没有方法 .edit(String, int)
。要访问编辑器,您必须按照上面的示例进行操作。获取共享首选项编辑器的实例,然后使用修改方法。
我想制作一个计步器,您可以在其中手动更改另一个 activity 中的步数。如何从另一个 activity 更改存储在 sharedpreferences 中的整数? 原始值放在 main_activity 的 sharedpreferences 中,而不是我想使用 edit_activity 手动输入覆盖 sharedpreferences 中的值的值。
我试图覆盖它,方法是使用与 main_activity 中相同的代码和其他值一起放入。
SharedPreferences.Editor editor = getSharedPreferences("sharedpreft", Context.MODE_PRIVATE).edit();
int newyesterday = Integer.parseInt(yesterdayinput.getText().toString());
editor.putInt("stepsyesterday", newyesterday);
int newdaybeforeyesterday = Integer.parseInt(daybeforeyesterdayinput.getText().toString());
editor.putInt("stepsdaybeforeyesterday", newdaybeforeyesterday);
editor.apply();
此代码不会导致错误,但应用程序会在尝试覆盖值时崩溃。
我还发现了另一个类似的问题,这里没有使用编辑器,只有.edit和.apply。然而,这似乎不适用于整数。
SharedPreferences sharedprefs = getSharedPreferences("sharedprefs", Activity.MODE_PRIVATE);
int newtoday = Integer.parseInt(todayinput.getText().toString());
sharedprefs.edit("stepstoday", newtoday).apply();
此代码导致错误提示 edit() 无法应用于 (java.lang.String, Int)。
更准确的说是"the IDE is linting",不能申请...
SharedPreferences sharedprefs = getSharedPreferences("sharedprefs", Context.MODE_PRIVATE);
int newtoday = Integer.parseInt(todayinput.getText().toString());
SharedPreferences.Editor prefEditor = sharedprefs.edit();
prefEditor.putInt("stepstoday", newtoday).apply();
问题是,没有方法 .edit(String, int)
。要访问编辑器,您必须按照上面的示例进行操作。获取共享首选项编辑器的实例,然后使用修改方法。