如何设置多个共享首选项,而无需先创建xml

时间:2010-11-27 12:31:32

标签: android

我正在尝试使用此方法设置多个共享首选项。 这将成功创建一个共享的pref:

 static final String SUPPLIER_NUMBER = "";

   SharedPreferences myPrefs = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
   savednumber = myPrefs.getString(SUPPLIER_NUMBER, "");

           SharedPreferences myPrefs1 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
           SharedPreferences.Editor prefsEditor = myPrefs1.edit();
           prefsEditor.putString(SUPPLIER_NUMBER, telephonenumber);
           prefsEditor.commit();

这第二个例子只是导致第二个pref覆盖了第一个....我在这里错过了什么?

 static final String SUPPLIER_NUMBER = "";
 static final String SUPPLIER_COST = "";

       SharedPreferences myPrefs = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
       savednumber = myPrefs.getString(SUPPLIER_NUMBER, "");
       savedcost = myPrefs.getString(SUPPLIER_COST, "");

               SharedPreferences myPrefs1 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
               SharedPreferences.Editor prefsEditor = myPrefs1.edit();
               prefsEditor.putString(SUPPLIER_NUMBER, telephonenumber);
               prefsEditor.putString(SUPPLIER_COST, suppliercost);
               prefsEditor.commit();

我真的不想创建一个xml文件来获取prefs ..我希望它动态创建,因为我相信我来到这里,在第一个例子..但我需要能够添加更多一个偏好。

1 个答案:

答案 0 :(得分:0)

你的SUPPLIER_NUMBER和SUPPLIER_COST常量是相等的(两者都是“”)。将它们设置为不同的值,这应该可以解决问题:)

 static final String SUPPLIER_NUMBER = "number";
 static final String SUPPLIER_COST = "cost";