簡體   English   中英

如何將(Android)應用程序上下文傳遞給Java類?

[英]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());

MyActivityonCreate中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM