Warum kann ich nicht mit getBaseContext() hier?
Möchte ich versuchen, immer einen Wert vom meine Einstellung mit dem folgenden code:
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.content.*;
public class TCPdumpHandler {
public void getPreference() {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Boolean checkboxPreference = prefs.getBoolean("checkboxPref", true);
}
}
Aber der Fehler ist : The method getBaseContext() is undefined for the type TCPdumpHandler
Können Sie mir sagen, warum?
- Sie sollten nicht
getBaseContext()
an alle wenn Sie nicht wissen, warum Sie benötigen, um genau diesen Kontext (gegeben, dass diese eine Anfänger-Frage, die Sie wahrscheinlich nicht wissen). Bleiben Sie eher mit der Aktivität Kontext.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil
TCPdumphandler
erstreckt sich nicht von der Tätigkeit.getBaseContext()
ist eine Methode der Klasse (technisch, von der ContextWrapper Klasse). Du musst den Kontext zu dem Konstruktor derTCPdumphandler
.Die getContext () - Methoden aufgerufen werden können, nur aus den Klassen, erweitert Aktivitäten und Dienstleistungen (und, aber ich bin mir nicht sicher, Anwendung). Zum Zusammenhang verwenden, in anderen Klassen, die Sie passieren soll, einem Kontext als parameter.