Ich habe eine Klasse, die sich auf die Verwaltung von geteilten Voreinstellungen spezialisiert hat, aber ich bekomme immer eine NPE auf einer von meine Anrufe. Heres die Klasse, istjava.lang.NullPointerException: Versuch, die virtuelle Methode aufzurufen '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;
}
}
}
Das, was aus meiner Haupttätigkeit geführt wird:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_screen);
userManager = new UserManager(getApplicationContext());
}
Die NPE in dieser Zeile empfangen wird:
SharedPreferences spMatches = mContext.getSharedPreferences(getString(R.string.match_key), Context.MODE_PRIVATE);
http://stackoverflow.com/a/2184151/5515371 müssen überprüfen diese –
@SpecialSnowflake Verwenden this.mContext anstelle von mcontext in der Zeile 'mContext.getSharedPreferences (getString (R.string.match_key), Context.MODE_PRIVATE);' – Debojyoti
Rufen Sie getFromMatches() vor onCreate() auf? – X3Btel