2012-02-11 144 views
5

我有下面的代码中,我使用的应用程序上下文检索所需信息:如何将(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()从下面的类

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投射到上下文。请提出任何解决方案。上面的代码是不是正确的方式来传递上下文?

回答

9

您需要应用程序上下文来访问共享首选项。它应该是:

cd.setVarA(true,this.getApplicationContext()); 
MyActivityonCreate

相关问题