在活动我喜欢加载的偏好:的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