2015-06-30 50 views
0

我有一個代碼...其優秀的保存數據和加載數據,但...當我重置應用程序,我的分數加載,但是當我點擊+5分數按鈕,我的分數重置並設置5 。我想要加+5,但它不工作...SharedPreferences整數加法

據我所知,加法的問題,因爲保存和加載工作出色,但加法不起作用。

對不起,我的英語不好:)

int mCounts; 



@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 




    setContentView(R.layout.appli); 
    Settings = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE); 

    int mCounts = Settings.getInt(APP_PREFERENCES_SCORE, 1); 
    score = (TextView) findViewById(R.id.score); 

    score.setText(String.valueOf(mCounts)); 


} 
public void five(View view) { 
    score.setText(String.valueOf(mCounts += 5)+""); 
} 

public void onPause() { 
    super.onPause(); 



    SharedPreferences.Editor editor = Settings.edit(); 
    editor.putInt(APP_PREFERENCES_SCORE, mCounts); 
    editor.apply(); 


} 
+1

哪裏是按鈕代碼? –

+0

public void five(View view){scoreItemText(String.valueOf(mCounts + = 5)+「」); } – Kylmen

+0

首先,你爲什麼要在'String.valueOf()'調用內執行'mCounts + = 5',而不是在它之前的行?我知道它應該可以工作,但它很不明確,因爲它看起來像只是輸出了一個值,而你卻模糊了這個值是有意改變的。 –

回答

0

嘗試在按鈕的代碼:

public void five(View view) { 
     score.setText(String.valueOf(mCounts += 5)+""); 

    SharedPreferences.Editor editor = Settings.edit(); 
     editor.putInt(APP_PREFERENCES_SCORE, mCounts); 
     editor.apply(); 
    } 

問題是在這裏:

int mCounts = Settings.getInt(APP_PREFERENCES_SCORE, 1); 

刪除int。它會工作

+0

不能正常工作... 感謝您的幫助! – Kylmen

+0

@Kylmen嘗試編輯的代碼。 –

+0

也不起作用... – Kylmen