2013-06-27 46 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值的值。真的是你想要的吗?