8

Merhaba Navigasyon Çekmecesi kullanan bir Android uygulamasına sahibim. Benim MainActivity Fragment Aktivite uzanır ve benim SettingFragment PreferenceFragmentAndroid: Bir Gezinme Çekmecesi Fragmanı ile Tercih Parçası

Ayarlar Fragment uzanır: Ben taahhüt veya nasıl gidebilirim

PreferenceFragment preferenceFragment = new SettingsFragment(); 
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
ft.add(android.R.id.content, preferenceFragment); // I'm getting an error here should be Fragment not PreferenceFragment 
ft.commit(); 

:

public class SettingsFragment extends PreferenceFragment { 
    public SettingsFragment() {} 

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

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

ve benim MainActivity SettingsFragmen için t()? Bu konuda

cevap

2

Bu benim için çalıştı. Sadece bu kodun 11 ve daha yüksek değerlerde çalışacağını unutmayın.

Etkinlikte Fragment eklemek için bu kodu kullanın.

android.app.Fragment infoFragment = new InfoFragment(); 
FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.add(android.R.id.content, infoFragment); 
ft.commit(); 

Ve PreferenceFragment sınıfınız şöyle görünecektir.

public class InfoFragment extends PreferenceFragment 
{ 
/** 
    * The fragment argument representing the section number for this 
    * fragment. 
*/ 
private static final String ARG_SECTION_NUMBER = "section_number"; 

/** 
    * Returns a new instance of this fragment for the given section 
    * number. 
    */ 

    public static android.app.Fragment newInstance(int sectionNumber) 
    { 
    InfoFragment fragment = new InfoFragment(); 
    Bundle args = new Bundle(); 
    args.putInt(ARG_SECTION_NUMBER, sectionNumber); 
    fragment.setArguments(args); 
    return fragment; 
    } 

    public InfoFragment() 
    { 

    } 
} 
+0

Bende aynı problem var ve cevabını yapıyorum ama ne yazık ki hiçbir şey olmuyor. lütfen bana cevap verir misiniz? http: //stackoverflow.com/q/41290692/4568864 –

0

Nasıl:

Fragment preferenceFragment = new SettingsFragment(); 
FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
ft.add(android.R.id.content, preferenceFragment); 
ft.commit(); 
+0

takip eder ve ben cevap, ama ne yazık ki hiçbir şey olmuyor olarak prefenceFragment açar gelmez basit Parçası ile mevcut PreferenceFragment sarın. lütfen bana cevap verir misiniz? http: //stackoverflow.com/q/41290692/4568864 –

12

belirterek ancak yarı aynı sorun var .ı

public class SettingsActivity extends Fragment { 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    getActivity().getFragmentManager().beginTransaction() 
      .replace(android.R.id.content, new MyPreferenceFragment()) 
      .commit(); 
    } 
    private class SettingsFragment extends PreferenceFragment { 
     public SettingsFragment() {} 

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

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

Yarıda aynı problem var ve cevabınızı yapıyorum ama ne yazık ki hiçbir şey olmuyor. lütfen bana cevap verir misin http: //stackoverflow.com/q/41290692/4568864 –

İlgili konular