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