我有一個專門用於管理sharedpreferences的類,但是我不斷收到一個NPE我的電話。繼承人的類,java.lang.NullPointerException:試圖調用虛擬方法'android.content.res.Resources android.content.Context.getResources()'
public class UserManager extends Activity{
Context mContext;
UserManager(Context mContext){
this.mContext = mContext;
}
public boolean getFromMatches(String userUid, String matchUid){
SharedPreferences spMatches = mContext.getSharedPreferences(getString(R.string.match_key), Context.MODE_PRIVATE);
if(spMatches.contains(userUid + matchUid)){
return true;
}else{
return false;
}
}
}
這就是從我的主要活動通過:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
userManager = new UserManager(getApplicationContext());
}
的NPE在該行獲得:
SharedPreferences spMatches = mContext.getSharedPreferences(getString(R.string.match_key), Context.MODE_PRIVATE);
http://stackoverflow.com/a/2184151/5515371檢查這個 –
@SpecialSnowflake使用this.mContext而不是mContext在行'mContext.getSharedPreferences(getString(R.string.match_key),Context.MODE_PRIVATE);' – Debojyoti
你是否在onCreate()之前調用getFromMatches()? – X3Btel