2013-06-27 65 views
0

我有這樣的方法:SharedPreferences的Android

private void deleteExam(String i) { 

     SharedPreferences prefsContatore = getSharedPreferences("esameKey"+i, Context.MODE_PRIVATE); 
     SharedPreferences.Editor editorContatore = prefsContatore.edit(); 
     editorContatore.putString("esameKey"+i, "0"); 
     editorContatore.commit();  
} 

去?我可以遞歸地調用「esameKey」+ i嗎?

+0

你是什麼意思? –

+0

你想達到什麼目的? – EMarci15

+0

我認爲這不是一個好方法,因爲鍵值覆蓋的機會。當「i」中的字符串在那個時候新的覆蓋舊的一個。例如:take i =「aaa」;並評估代碼。 –

回答

2

getSharedPreferences訪問文件並創建它是否不存在。每次通過不同的i時,都會創建一個新文件。創建一次:

SharedPreferences prefsContatore = getSharedPreferences("mySharedPrefFileName", Context.MODE_PRIVATE); 
SharedPreferences.Editor editorContatore = prefsContatore.edit(); 

putString的第一個參數是一個關鍵的第二放慢參數是要存儲

editorContatore.putString("esameKey"+i, "0"); 

這樣你把每一個i0值的值。真的是你想要的嗎?