4

Ich benutze ViewPager, um durch verschiedene Fragmente zu wischen. Es funktioniert, aber jetzt möchte ich für jedes Fragment Einstellungen hinzufügen, wie Sie auf diese Weise mit Aktivitäten tun können:Wie verwende ich Präferenzen für Fragmente mit ViewPager?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.prefs); 
} 

Aber wenn ich addPreferencesFromResource(R.xml.prefs); in meinem Fragment von Eclipse setzen sagt mir addPreferencesFromResource(R.xml.prefs); nicht existiert, die gleiche, wenn Ich benutze FragmentActivity. Also, wie verwende ich Präferenzen in Fragmenten? : Ich bin mit Fragmenten der Gestaltung und alles ist ziemlich anders im Vergleich zu, wie Sie in Aktivitäten zu tun:/

Danke :)

== == EDIT

ich nicht immer aber ein FC es tut nichts, es ist der Code, der Klasse LCprefs() aufruft, ist dieser Code auf einem Fragment:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if(DEBUG) Log.i(TAG, "onOptionsItemSelected(MenuItem item)"); 
     switch(item.getItemId()) 
     { 
     case R.id.preferences: 
      new LCprefs(); 
      break; 
     case R.id.add: 
      break; 
     case R.id.load: 
      break; 
     case R.id.save: 
      break; 
     } 
     return false; 
    } 

es ist LCprefs Klasse:

import android.os.Bundle; 
import android.preference.PreferenceFragment; 
import android.util.Log; 

    public class LCprefs extends PreferenceFragment{ 

     String TAG; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 
      Log.i(TAG, "LCprefs onCreate()"); 
      addPreferencesFromResource(R.xml.prefslc); 
     } 

    } 

Es ist prefslc.xml auf xml Ordner:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 

    <PreferenceCategory android:title="Varios" > 

     <CheckBoxPreference 
      android:defaultValue="false" 
      android:key="cbFullscreen" 
      android:summary="Aplicacion fullscreen" 
      android:title="Fullscreen" /> 

    </PreferenceCategory> 

</PreferenceScreen> 

Antwort

1

Das Fragment muss eine Instanz von PreferencesFragment sein. Beispiel aus dem Link:

public static class PrefsFragment extends PreferenceFragment { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Load the preferences from an XML resource 
     addPreferencesFromResource(R.xml.preferences); 
    } 
} 
+0

ich meine Frage bearbeiten, weil ich nicht Code auszuzureizen :) –

+0

Sie können nicht nur ein neues Fragment wie das erstellen. Sie müssen es auch zur Ansicht hinzufügen oder eine neue Aktivität erstellen. –

Verwandte Themen