Как передать контекст приложения (Android) в класс Java?

У меня есть следующий код, в котором я использую контекст приложения для получения необходимой информации:

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 () из ниже class

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 в контекст. Пожалуйста, предложите любое решение. Не является ли приведенный выше код неправильным способом передачи контекста?

6
задан Brian Tompsett - 汤莱恩 6 June 2015 в 14:22
поделиться