2013-12-20 37 views
0

我創建了一個PreferenceActivity及其中的PreferenceFragment。但所有設置的內容都顯示在佈局佈局之外,我做錯了什麼?SettingsActivity/Fragment顯示佈局中的選項

Settings

SettingsActivity:

public class SettingsActivity extends PreferenceActivity { 
    @Override 
    protected void onCreate(final Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit(); 
    } 

    public static class MyPreferenceFragment extends PreferenceFragment 
    { 
     @Override 
     public void onCreate(final Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      addPreferencesFromResource(R.xml.preferences); 
     } 
    } 
} 

的preferences.xml:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
<PreferenceCategory android:title="My list of Preferences"> 
    <CheckBoxPreference android:title="Checkbox Preference" 
    android:defaultValue="false" android:summary="This preference can be true or false" 
    android:key="checkboxPref" /> 
    <EditTextPreference android:name="EditText Preference" 
    android:summary="This allows you to enter a string" 
    android:defaultValue="Nothing" android:title="Edit This Text" 
    android:key="editTextPref" /> 
    <RingtonePreference android:name="Ringtone Preference" 
    android:summary="Select a ringtone" android:title="Ringtones" 
    android:key="ringtonePref" /> 
    <PreferenceScreen android:key="SecondPrefScreen" 
    android:title="Secondary Level" android:summary="This is a sub PreferenceScreen"> 
    <intent android:action="android.intent.action.VIEW" 
    android:targetPackage="com.as400samplecode" android:targetClass="com.as400samplecode.Preferences2" /> 
    </PreferenceScreen> 
    <Preference android:title="Custom Preference" 
    android:summary="This works almost like a button" android:key="customPref" /> 
</PreferenceCategory> 
</PreferenceScreen> 

回答

0

我通過使用正常的活動,而不是PreferenceActivity解決它。

-1

你是不是增加了首代碼中使用SharedPreferences類
我已經將一個使用複選框偏好例如檢查以下代碼

public class PrefsFragment extends PreferenceFragment {  
    @Override  
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
addPreferencesFromResource(R.xml.preferences);  
}  
    } 

// XML Preference.xml

<PreferenceCategory 
     android:title="PreferenceCategory A"> 

    <CheckBoxPreference 
      android:key="checkbox_preference" 
      android:title="title_checkbox_preference" 
      android:summary="summary_checkbox_preference" /> 

</PreferenceCategory> 

<PreferenceCategory 
     android:title="PreferenceCategory B"> 

    <EditTextPreference 
      android:key="edittext_preference" 
      android:title="title_edittext_preference" 
      android:summary="summary_edittext_preference" 
      android:dialogTitle="dialog_title_edittext_preference" /> 

</PreferenceCategory> 

+0

他正在嘗試創建首選片段。你正在擴展一項活動。這對初學者來說是錯誤的! – user2511882

+0

我確實想要使用首選項片段,因爲Android使此功能可用,所以我想使用它。 –

+0

Plz檢查上面的代碼正在工作...或者檢查鏈接 http://android-er.blogspot.in/2012/07/example-of-using-preferencefragment.html – Sanket990