context?

  • Hi B-)


    hab mir einiges zu context durchgelesen - komme trotzdem nicht weiter.


    Hab eine Klasse (ohne Acitivity) erstellt, in der eine Hashmap erstellt und unter SharedPreferences gespeichert wird.
    Soweit so gut - rufe sie an verschiedenen Stellen auf - doch an einer Stelle passt es nicht



    Java
    Context mContext;
     public void loadSPCI()
            {
    //TODO Abfrage ob Datei da sonst init
        if (mContext.getApplicationContext().getSharedPreferences("s8", Context.MODE_PRIVATE).contains("23")==false) {
            initHMCI();
        }
        else {


    Hier soll die Hashmap geladen werden - wenn SharedPf vorhanden wird die SharedPF geladen else { zweig - sonst neu initialisiert


    Möchte einfach Applicationweit die SHPreferences aufrufen




    An der aufrufenden Stelle (im Adapter) rufe ich die Methode einfach mit Data.loadSPCI() auf


    dabei deklariere ich die SharedPreferences global oben als ShPrefData Data = new ShPrefData();


    da innerhalb der Methode ne Meldung kommt (variable innerhalb final zu setzen)


    Kann mir jemand da helfen, falls das nicht zu verwirrend ist? :saint:



    Denke hat was mit dem Zugriff auf die eigenen Klasse und context zu tun da eine nullpointerexception rauskommt

  • Naja, ich sehe an dem Punkt nicht, wo mContext gesetzt wird, insofern wird das Problem da zu finden sein.


    Erbt Deine Klasse von Context? Dann brauchst Du die Membervariable nicht.
    Ansonsten musst Du den Context irgendwo an einer passenden Stelle übergeben.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Ich denke das problem ist das er den context von keiner activity durchgibt.
    Du brauchst immer einen Context, mit Android sozusagen weiß in welchem zusammenhang der aufruf steht. Meistens nimmt man als Context die aktive Activity.

  • Du brauchst immer einen Context

    Das kann ich so nicht stehen lassen.
    Du brauchst den Context eben nicht immer, sondern nur, wenn Du auf Methoden des Contexts zugreifen willst.
    getSharedPreferences() ist so eine Methode.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!