2016-12-24 89 views
0

我有一個很奇怪的問題。而且我花了3-4個小時糾正以及搜索解決方案,但沒有任何結果。我在「QuestionAsked」字符串中存儲變量,但不知道爲什麼所有其他字符串顯示相同的值。SharedPreferences更改一個變量會影響其他人以及Android

也就是說,如果「QuestionAsked」是40和RecordQuestionAsked()叫,現在不僅是「QuestionAsked」但其他所有甚至字符串「XYZ」這個電話後創建的,將展示41 :(這可能是什麼問題?

private void RecordQuestionAsked(){ 
     SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE); 
     int prev = sharedPref.getInt(getString(R.string.QuestionAsked),0); 
     SharedPreferences.Editor editor = sharedPref.edit(); 
     editor.putInt(getString(R.string.QuestionAsked), prev+1); 
     editor.commit(); 
} 

if (id == R.id.menuProg) { 
      if(ll1.getVisibility()==View.VISIBLE) { 
       ll1.setVisibility(View.GONE); 
       ll3.setVisibility(View.VISIBLE); 
       SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE); 
       int ca = sharedPref.getInt(getString(R.string.xyz),1); 
       int qa = sharedPref.getInt(getString(R.string.QuestionAsked),0); 
       pba.setProgress(ca/qa*100); 
       pbi.setProgress((qa-ca)/qa*100); 
       txtProg.setText("Correct Answers/Total Questions : " + ca + "/" + qa); 
      } 
     } 

回答

0

看來,張貼在這裏的問題是無用的:(

然而,撞我的頭3-4天之後,代替的getString(R.string.xyz),「XYZ」兩種獲取和放置工作對我而言,如果有人感興趣。

相關問題