java - Android 操作共享首选项 - 更新值
问题描述
我正在尝试更新我在 android 上的共享首选项中的计数器。我有一个我想操纵的属性“硬币计数”,到目前为止,我已经设法在应用程序关闭后使用“共享首选项”来保存硬币值,但我无法操纵这些值。我希望应用程序采用旧硬币计数并将其添加到新硬币计数中。但是该值只是被覆盖
我保存硬币的方法:
private void saveCoins(){
SharedPreferences.Editor editor2 = coins.edit();
int newScore = score/10;
editor2.putInt("coinNum", score);
editor2.apply();
}
我检索硬币计数如下:
TextView coinDisp = findViewById(R.id.coinDisp);
final SharedPreferences coins = getSharedPreferences("game", MODE_PRIVATE);
coinDisp.setText("Coins: " + coins.getInt("coinNum", 0));
解决方案
尝试这样做:
public void saveCoins(String key, int value)
{
SharedPreferences.Editor editor3 = coins.edit();
editor3.putInt("coinNum", value + coins.getInt("coinNum", 0));
editor3.commit();
}
推荐阅读
- percentage - (MQL4) 问题:如何在 mql4 中找到数字的百分比?
- java - 数据删除并从警报对话框返回时如何刷新片段
- python - 如何在python中动态删除所有特殊字符代码和表情符号?
- python - 日志记录模块是否具有日期时间/从程序调用的内置函数作为日志文件名的一部分?
- powershell - 使用 Measure-Object 查找目录的大小时,PowerShell 未返回正确的值
- r - 在 R 中的 Mutate 中按组分组的情况
- python - 在我将索引附加到列表的循环期间,所述索引列表从列表更改为 numpy 数组
- java - Java Scanner 没有在一个 string() 中初始化,即使它在另一个中初始化
- reactjs - 如何在不创建新侦听器的情况下更新钩子?
- bash - 为什么 awk 会覆盖先前打印的列?