2012-12-21 3 views
0

mysql db에 정보를 보내는 클래스가 있습니다. 이 클래스에서 공유 기본 설정 메서드를 사용하고 싶지만 활동 클래스에 속합니다. 내 클래스는 AsyncTask를 확장하므로 다른 클래스를 확장 할 수 없습니다. 액티비티 인스턴스를 만들고 사용하려고했지만 내 프로그램이 중지되었습니다. 이 같은 :비 활동 확장 클래스의 SharedPreferences

Activity a1 = new Activity(); 
SharedPreferenecs loginInfo = a1.getSharedPreferences("MyKid", 0); 

+1

가 아닌'Activity' 클래스의'Context'을 통과 사용할 수 있습니다. 'mContext.getSharedPreferences ("MyKid", 0);를 사용합니다. ' –

+0

무지를 유감스럽게 생각하지만 어디에서 컨텍스트 인스턴스를 전달합니까? 한 클래스에 대해서만 이야기했습니다. –

+0

은'Activity 클래스가 아닌'Constructor'에'Context'를 전달합니다. 거기에 멤버 인'private Context mContext; '와 init을 생성자에 넣습니다. –

답변

1

비 활동 클래스의 생성자에 Activity의 컨텍스트를 전달합니다.

다음

mContext.getSharedPreferences("MyKid", 0); 
관련 문제