[英]Android - How to pass another activity application context from java class extends fragments to asynctask?
[英]How to pass (Android) application context to a Java class?
我有以下代碼,我使用應用程序上下文來檢索所需的信息:
public class Data{
private boolean VarA;
public void setVarA(boolean B,Context ctx)
{
SharedPreferences CoreDataStorage = ctx.getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = CoreDataStorage.edit();
editor.putBoolean("PrefVarA", VarA);
edit.commit();
}
}
現在我從下面的類調用公共方法setVarA()
public class MyActivity extends Activity{
Data cd = new Data();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.registration);
cd.setVarA(true,this);
}
}
在上面的活動中,它向我顯示了無法從MyActivity轉換為Context的編譯錯誤。 請建議任何解決方案。 上面的代碼是不是傳遞上下文的正確方法?
您需要應用程序Context才能訪問共享首選項。 它應該是:
cd.setVarA(true,this.getApplicationContext());
在MyActivity
的onCreate
中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.