在我的应用程序中,我在一个处理对我的应用程序SharedPreferences的所有请求的类中使用Context,该类的相关部分是构造函数:
private SharedPreferences preferences;
public AppSettings(Context context){
preferences = PreferenceManager.getDefaultSharedPreferences(context);
}
在我的初始活动中,我可以使用类中的其他方法设置和读取参数,我使用 getApplicationContext()从< b> doInBackground()调用扩展 AsyncTask 的类:
public class MyTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
...
AppSettings as = new AppSettings(context);
...
}
}
这很好用,但是当我尝试恢复下一个Activity中的设置时:
public class MainActivity extends Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppSettings as = AppSettings(getApplicationContext());
}
...
}
我在Eclipse中遇到错误:
对于MainActivity类型
,未定义AppSettings(Context)方法
我对getApplicationContext的理解是它应该给我应用程序的全局上下文,但显然在每种情况下它都会返回不同的东西。我该如何解决这个问题?
答案 0 :(得分:2)
错误..不是吗?
AppSettings as = new AppSettings(getApplicationContext()); //<-- missed the "new"