2015-05-14 16 views
0

我有這樣的代碼存儲在我的活動值:機器人:使用儲值和增加新的價值,它

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();  
} 

和加載我的存儲值與我的活動中的此鱈魚:

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"); 

現在我想添加上一個存儲值到新值,意味着總和舊sto紅色值和當前輸入值,但它總是顯示我上次存儲的值不是值的總和,任何人都可以幫助我,我的鱈魚錯在哪裏? 例如,如果我輸入10「nowzekr」,「nowzekrr」是始終顯示10,如果我再次進入了25「nowzekr」,再次「nowzekrr」顯示25,而不是顯示35

回答

0
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()方法 - 值將被自動替換。

+0

我刪除它但不工作,它仍然顯示我存儲在nowzekr中的任何值,而不是總和 – farzad226

+0

什麼是'nowzekr'的值? – Ircover

+0

例如,如果我爲nowzekr輸入10,nowzekrr總是顯示10,如果我再次輸入25 for nowzekr,再nowzekrr顯示25並且不顯示35 – farzad226