在我的应用程序中,我在一个处理对我的应用程序 SharedPreferences 的所有请求的类中使用 Context,该类的相关部分是构造函数:
private SharedPreferences preferences;
public AppSettings(Context context){
preferences = PreferenceManager.getDefaultSharedPreferences(context);
}
在我最初的 Activity 中,我可以使用类中的一些其他方法很好地设置和读取参数,我使用 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 中收到一条错误消息:
The method AppSettings(Context) is undefined for the type MainActivity
我对 getApplicationContext 的理解是它应该给我应用程序的全局上下文,但显然在每种情况下它都返回不同的东西。我该如何解决这个问题?
最佳答案
呃..你不是说
AppSettings as = new AppSettings(getApplicationContext()); //<-- missed the "new"
关于java - 对 getApplicationContext() 的不同响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15073446/