如何从其他活动覆盖共享首选项中的整数

我想制作一个步骤计数器,您可以在其中手动更改另一个活动中的步骤数。如何更改存储在另一个活动的共享首选项中的整数?原始值放在main_activity的共享首选项中,而不是我想使用edit_activity手动输入覆盖共享首选项中的值的值。


我试图覆盖它,通过使用与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();

此代码导致一个错误,指出编辑()不能应用于(java.lang.字符串,整数)。


犯罪嫌疑人X
浏览 75回答 1
1回答

尚方宝剑之说

更准确地说,“IDE是棉绒”,无法应用...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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java