2011-05-10 84 views
1

我有這樣的代碼應該閱讀在第一次運行的未設定偏好:使用getPreferece()設置第一次運行標誌

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    SharedPreferences settings = getPreferences(MODE_PRIVATE); 
    firstTime = settings.getBoolean("firstTime", true); 
    Log.d("mything", "firstTime returns as: " + firstTime); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putBoolean("firstTime", false); 
    editor.commit(); 

變量「firstTime」總是返回假。 我正在卸載我的應用程序並重新加載它。

有人能解釋一下嗎?

在此先感謝

回答

2

您使用的三星Galaxy S採用2.2.1固件?有一個已知的錯誤,即如果卸載應用程序,共享首選項不會被刪除。例如看評論here

+0

是的,我的確是。 。這可以解釋爲什麼我有這個麻煩。無法在鏈接中找到評論?謝謝 – 2011-05-10 13:25:07

+0

切換到英文版的市場,看看說明中所述。 – 2011-05-10 15:04:54

0

嗯奇怪。我運行你的代碼並按預期工作。你運行它第一次是日誌

05-10 14:53:59.390: DEBUG/mything(4895): firstTime returns as: true 

,如果你再運行它,它會隨時記錄

05-10 14:55:25.780: DEBUG/mything(4895): firstTime returns as: false 

你確定你不會錯過在日誌中的東西嗎?

+0

感謝你好,你說的沒錯它在一個純粹的Android應用程序的工作。這似乎是與我正在使用的libgdx庫的一些交互。 – 2011-05-10 13:14:03