2013-12-20 6 views
0

Я создал PreferenceActivity с PreferenceFragment в нем. Но контент со всеми настройками отображается за пределами макета, что я делаю неправильно?SettingsActivity/Fragment показывает параметры из макета bounderies

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

Вы не добавили код Preferences с помощью 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

 Смежные вопросы

  • Нет связанных вопросов^_^