2012-03-10 37 views
2

我試圖使用對話框中的偏好設置,並且遇到了一些困難。我的應用程序的其餘部分僅使用getPreferences()對話框,似乎沒有任何問題。但是,對話框無法調用getPreferences(),出於某種原因,我無法訪問基本活動。但我已經找到了解決方案,from the SDK documentation,但我需要一個快速的答案來擁有它。getPreferences()對getSharedPreferences使用的類名的引用()

SDK聲明「通過傳入此活動的類名稱作爲首選項名稱,這只是簡單地調用底層getSharedPreferences(String, int)方法」。如果我能得到活動的課程名稱。我可以訪問上下文,其中包括getApplicationInfo()。這裏有各種各樣的名字。我的問題是,來自getApplicationInfo()的其中一個名稱與getPreferences()作爲類名稱傳遞給getSharedPreferences()的值相同嗎?

回答

0

更妙的是,這是我現在用他們的方式,就是用這樣的:

final SharedPreferences prefs = android.preference.PreferenceManager.getDefaultSharedPreferences(mContext); 

這得到正確的喜好,而無需做複雜的事情。

1

我最終什麼事做了以此爲全線的應用程序名稱:

getBaseContext().getApplicationInfo().packageName 

的情況下幾乎是普遍可用的,而這個名字應該是程序中的所有類是一致的。