2012-02-11 6 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からContextにキャストできないコンパイルエラーを示しています。解決策を提案してください。上記のコードはコンテキストを渡す適切な方法ではありませんか?

答えて

9

共有環境設定にアクセスするには、アプリケーションコンテキストが必要です。それは次のようになります。MyActivityonCreate

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

関連する問題