2016-11-07 3 views
0
import android.os.Bundle; 
import android.preference.PreferenceFragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v7.app.AppCompatActivity; 

import static android.R.attr.fragment; 

public class AppPreferences extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_note_detail); 

     FragmentManager fragmentManager = getSupportFragmentManager(); 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 

     SettingsFragment settingsFragment = new SettingsFragment(); 
     // fragmentTransaction.add(android.R.id.content, settingsFragment, "SETTING_FRAGMENT"); 

l'erreur commence ici est settingsFragment et l'erreur est Erreur: (25, 94) Erreur: types incompatibles: SettingsFragment ne peut pas être converti à fragmenterErreur: (25, 94) Erreur: types incompatibles: SettingsFragment ne peut pas être converti en fragmenter

FragmentTransaction setting_fragment = fragmentTransaction.add(android.R.id.content, settingsFragment, "SETTING_FRAGMENT"); 
setting_fragment.commit(); 

et ceci est mon settingsFragment

public static class SettingsFragment extends PreferenceFragment{ 

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

     addPreferencesFromResource(R.xml.app_preferences); 
    } 
} 
+0

Essayez de changer android.R.id.content à R.id.content – AbhayBohra

Répondre

0

vous devez utiliser (si vous voulez garder la compatibilité) le PreferenceFragmentCompat inclus dans le v7 de soutien bibliothèque de compatibilité.

PreferenceFragment n'est pas inclus dans l'ensemble de compatibilité des fragments, donc changer PreferenceFragment à PreferenceFragmentCompat devrait suffire pour vos porpuses.

Vérifiez this sur.

Hope it helps

+0

ne fonctionne toujours pas –

+0

Même erreur? Toute différence? @ThetruesAbdallah mettre à jour la question avec vos changements – zozelfelfo

+0

'public static class SettingsFragment extends PreferenceFragmentCompat { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.app_preferences); }' l'erreur est maintenant impossible de résoudre PreferenceFragmentCompat –

0

hey je suis la solution à mon problème

public class AppPreferences extends AppCompatActivity {

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

    setContentView(R.layout.activity_note_detail); 

Le problème était avec ce code ici, donc ce getSupportFragment(); donc j'utiliser juste getFragmentManager(); et ses œuvres // FragmentManager fragmentManager = getSupportFragmentManager(); // FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

SettingsFragment settingsFragment = new SettingsFragment(); 
    FragmentTransaction setting_fragment; 
    setting_fragment = getFragmentManager().beginTransaction().add(android.R.id.content, settingsFragment, "SETTING_FRAGMENT"); 
    setting_fragment.commit(); 


} 

public static class SettingsFragment extends PreferenceFragment { 

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

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


}