2010-11-27 83 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