android:使用储值并为其添加新值
android: use stored value and adding new value to it
我有这段代码可以在我的 Activity:
中存储一个值
tv_addzekr.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
nowzekr=nowzekr+1;
tv_nowzekr.setText(nowzekr+":the score");
savecurrentzekr(nowzekr);
}
});
然后我用这个方法保存 nowzekr 值:
public void savecurrentzekr (int id){
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.clear();
editor.putInt("your_int_key", id);
editor.commit();
}
并在我的 activity 中使用此鳕鱼加载我的储值:
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
int myint = sp.getInt("your_int_key", 0);
nowzekrr=nowzekr+myint;
tv_beforzekr.setText(nowzekrr+":stored value");
现在我想将以前的存储值添加到新值,意思是将旧存储值和当前输入值相加,但它总是显示最后存储值而不是价值总和,任何人都可以帮助我我的鳕鱼哪里错了?
例如,如果我为 "nowzekr" 输入 10,"nowzekrr" 总是显示 10,如果我再次为 "nowzekr" 输入 25,再次 "nowzekrr" 显示 25 而不是显示 35
public void savecurrentzekr (int id){
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", sp.getInt("your_int_key", 0) + id);
editor.commit();
}
无需调用 clear()
方法 - 值将被自动替换。
我有这段代码可以在我的 Activity:
中存储一个值tv_addzekr.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
nowzekr=nowzekr+1;
tv_nowzekr.setText(nowzekr+":the score");
savecurrentzekr(nowzekr);
}
});
然后我用这个方法保存 nowzekr 值:
public void savecurrentzekr (int id){
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.clear();
editor.putInt("your_int_key", id);
editor.commit();
}
并在我的 activity 中使用此鳕鱼加载我的储值:
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
int myint = sp.getInt("your_int_key", 0);
nowzekrr=nowzekr+myint;
tv_beforzekr.setText(nowzekrr+":stored value");
现在我想将以前的存储值添加到新值,意思是将旧存储值和当前输入值相加,但它总是显示最后存储值而不是价值总和,任何人都可以帮助我我的鳕鱼哪里错了? 例如,如果我为 "nowzekr" 输入 10,"nowzekrr" 总是显示 10,如果我再次为 "nowzekr" 输入 25,再次 "nowzekrr" 显示 25 而不是显示 35
public void savecurrentzekr (int id){
SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("your_int_key", sp.getInt("your_int_key", 0) + id);
editor.commit();
}
无需调用 clear()
方法 - 值将被自动替换。