1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. DmanT

    DmanT Threadstarter Neuer Benutzer

    Hallo.

    Ich erstelle mir derzeit eine App. Das klappt auch eigentlich ganz wunderbar, solange ich alles in dem Code der aktivity mache.

    Nun setze ich jedoch Fragmente ein. Auch das klappt wunderbar, solange die Daten nicht dynamisch kommen.

    Nun wollte ich in dem Fragment Code auf die SharedPrferences und auf die TaxtViews zugreifen wegen setText usw.

    Das landet aber immer in einem NullPointer.

    Was mache ich falsch?
     
  2. 123thomas

    123thomas Android-Hilfe.de Mitglied

    Hallo,

    die Frage ist ja wie machst du es denn?

    Ein bisschen Code wäre nicht schlecht.

    Gruß
    Thomas
     
  3. DmanT

    DmanT Threadstarter Neuer Benutzer

    Hallo,

    also, in der Main nutze ich folgendes:
    Code:
    ...
        public static final String mypreference = "mypref";
        public static String UNIQUEID;
    
        //sharedpreferences.getString("UNIQUEID", "0");
    
        //SharedPreferences.Editor editor = sharedpreferences.edit();
        //editor.putString(Name, n);
        //editor.commit();
    
        SharedPreferences sharedpreferences;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            sharedpreferences = getSharedPreferences(mypreference, Context.MODE_PRIVATE);
            Log.d("RESPONSE", "PREF: " + sharedpreferences.getString("UNIQUEID", "HOMESITE"));
            UNIQUEID = sharedpreferences.getString("UNIQUEID", "0");
    ...
    
    Das klappt alles wunderbar. Und auch wenn ich hier ändere etc. keinerlei Probleme.
    Die Fragmente lasse ich wie folgt anzeigen:
    Code:
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.replace(R.id.frame_content, new Home());
    ft.commit();
    
    Auch das klappt wunderbar. Wenn ich nun aber auf die sharedPreferences zugreifen will sind diese immer leer. Habe es nun hinbekommen keinen Null Pointer zu bekommen aber die sind leer, bzw. die eigenen sind gefüllt, also so als ob jedes Fragment seine eigenen geschlossenen sharedPreferences hat.

    Der Fragmentblock
    Code:
    ...
    SharedPreferences sharedpreferences;
    final SharedPreferences.Editor editor = sharedpreferences.edit();
    ...
    @Override
        public void onViewCreated(View view, Bundle savedInstanceState) {
            sharedpreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
            editor.putString("TEST", "test");
            editor.commit();
            Log.d("RESPONSE", sharedpreferences.getString("UNIQUEID", "0"));
            Log.d("RESPONSE", sharedpreferences.getString("TEST", "0"));
    
    
    In Test steht test drinne, UNIQUEID bleibt leer.
     
  4. jogimuc

    jogimuc Erfahrener Benutzer

    Hallo
    in einem Fragment brauchst du immer den Context der Activity.
    versuche es mal so.

    SharedPreferences sharedpreferences = getActivity().getSharedPreferences(Main_Activity.mypreference, Context.MODE_PRIVATE);

    Dann wird es auch keinen NullPointer geben.
     
    Zuletzt bearbeitet: 09.12.2018 um 18:42 Uhr
Die Seite wird geladen...
Ähnliche Themen Forum Datum
2 Probleme mit Android Studio Android App Entwicklung 24.09.2018
Wert beim Start der App aus SharedPreferences auslesen Android App Entwicklung 10.09.2018
Classen Methoden ,deren Aufruf und meine Anfänger Probleme. HILFE !!! Android App Entwicklung 18.04.2018
sharedPreferences reset to default value Android App Entwicklung 05.02.2018
Login merken und activities öffnen - shared preferences Android App Entwicklung 28.01.2018
Du betrachtest das Thema "Probleme mit sharedPreferences" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.