在活動我喜歡加載的偏好:的Android在BaseAdapter類使用sharedpreferences
public void LoadFontSize(){
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
loadedFontSize = sharedPreferences.getString("fontsize", "font3");
}
而且SharedPreferences sharedPreferences;被全球宣佈。
我有一個ExpandBaseAdapter類操作ExpandableListView。我想處理fontsizes在這個類,但它表明我
的方法getApplicationContext()是未定義的類型 ExpandBaseAdapter
錯誤。
我試圖添加sharedPreferences = context.getSharedPreferences("PREF_NAME", Context.MODE_PRIVATE);
但後來我只得到默認值。
如果我添加sharedPreferences = PreferenceManager.getDefaultSharedPreferences(ExpandBaseAdapter.this);
我得到
在類型的方法getDefaultSharedPreferences(上下文) PreferenceManager不適用於參數 (ExpandBaseAdapter)
我應該怎麼辦?
沒有,聲明你的基礎轉接器在你的活動這樣的,BaseAdapter =新BaseAdapter相同(getApplicationContext());那麼在你的基礎適配器中使用全局變量Context mContext;那麼在基礎適配器的構造函數中使用mContext = context;然後在函數中使用mContext。 – 2012-04-01 21:13:40
公平的解釋,但是,仍然沒有... – erdomester 2012-04-01 21:31:34
是不可能發生的隊友,這是你可以通過上下文,嘗試解決,也許你失去了一些東西的唯一途徑。 – 2012-04-01 21:33:46