2010-11-27 40 views
0

我正尝试使用此方法设置多个共享首选项。 这将成功地创建一个共享PREF:如何设置多个共享首选项,而无需首先创建xml

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文件,以获得从首选项..我想它动态创建的,因为我相信我到达这里,在第一个例子..但我需要能够添加多个偏好。

回答

0

那么你的SUPPLIER_NUMBER和SUPPLIER_COST常量是相等的(都是“”)。它们设置为不同的值,并且应该做的伎俩:)

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

谢谢。我有一种感觉,这将是我的一个愚蠢的监督。我起初以为那空间是保留默认值..所有的伟大工程现在感谢。 – 11Monkeys 2010-11-27 14:25:56