1
在我的應用我在處理所有的請求,我的應用程序SharedPreferences類使用情況下,類的相關部分的構造:不同反應getApplicationContext()
private SharedPreferences preferences;
public AppSettings(Context context){
preferences = PreferenceManager.getDefaultSharedPreferences(context);
}
在我最初的活動我可以設置和就好使用類一些其他方法讀出的參數,我請使用getApplicationContext()上下文從doInBackground()呼叫延伸的AsyncTask一類內:
public class MyTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
...
AppSettings as = new AppSettings(context);
...
}
}
這一切正常,但是當我嘗試恢復在接下來的活動中設置:
public class MainActivity extends Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppSettings as = AppSettings(getApplicationContext());
}
...
}
我得到在Eclipse中的錯誤,說:
方法的AppSettings(上下文)是未定義的類型MainActivity
我對getApplicationContext的理解是它應該給我應用程序的全局上下文,但顯然在每種情況下它都會返回不同的東西。我該如何解決這個問題?
是啊,就是這樣。兩個小時的閱讀,看着它,錯過了......謝謝! – jankowiak 2013-02-25 18:39:48
是的,碰巧人人:) – dmon 2013-02-25 18:50:33