Intereting Posts
Пожалуйста, помогите с очень простым щелчком кнопки виджета Android. Очень расстроен. :( Admob Интерстициальная ориентация блокируется на начальную ориентацию устройства при запуске Перетаскивание RecyclerView, которое заполняется из SQLiteDatabase Как правильно инициировать многоэкранную контекстную панель действий для ListFragment (с проблемами) Android: Linkify TextView Как получить кнопку «Готово» на клавиатуре Android? Сортировка списка на основе другого списка Как извлечь строки из каждого контура в OpenCV для Android? Использование диспетчера аварийных сообщений даже если приложение закрыто? Как удалить внутренний файл хранилища в android? VectorDrawable с GoogleMap BitmapDescriptor Анализ использования памяти с помощью Android Studio В чем разница между Smack и aSmack? Как активировать DeviceAdmin, когда приложение запускается в Android? Несколько действий (не фрагменты) с помощью NavigationDrawer. Как показать выбранную активность?

Как загрузить одинаковое предпочтение экрана в деталях PreferenceFragment

Я пытаюсь сделать что-то вроде настроек настроек в Android для планшета.

Когда я нажимаю «Дополнительно», экран настроек «Беспроводные сети» отображается на правом фрагменте, чем если бы я касался «VPN», в том же фрагменте открывается экран настроек «VPN».

Как я могу это сделать ?

Это мое предпочтение xml

<PreferenceScreen android:title="Title A"> <PreferenceScreen android:title="TITLE B"> <PreferenceCategory android:title="category"> <ListPreference android:key="list" android:title="list" android:entries="@array/list_vals" android:entryValues="@array/list_vals1" android:defaultValue="1" android:dialogTitle="list title" android:negativeButtonText="cancel" /> </PreferenceCategory> </PreferenceScreen> </PreferenceScreen> 

Проблема в том, что я не хочу, чтобы экран вложенных настроек с заголовком B был загружен на весь экран. Я просто хочу, чтобы его загружали вместо правильного фрагмента …

ПРИМЕЧАНИЕ. Я использовал эту документацию для создания моего примера до сих пор. Http://developer.android.com/guide/topics/ui/settings.html#PreferenceHeaders

Введите описание изображения здесь

Введите описание изображения здесь

РЕДАКТИРОВАТЬ*

Это моя деятельность

 public class SettingsActivity extends PreferenceActivity { @Override public void onBuildHeaders(List<Header> target) { loadHeadersFromResource(R.xml.preference_headers, target); } } 

У меня нет макета, так как я могу узнать, что такое мой идентификатор основного фрагмента и что такое идентификатор фрагмента детали?

    Вкратце, определите PreferenceActivity и предоставьте файл заголовков для основных категорий:

    Class SettingsActivity :

     public class SettingsActivity extends PreferenceActivity { @Override public void onBuildHeaders(List<Header> target) { super.onBuildHeaders(target); loadHeadersFromResource(R.xml.headers,target); } } 

    Файл /res/xml/headers.xml :

     <?xml version="1.0" encoding="utf-8"?> <preference-headers xmlns:android="http://schemas.android.com/apk/res/android"> <header android:title="Preference Header" android:fragment="com.example.SettingsDemo.PrefFragment"/> </preference-headers> 

    Создайте PreferenceFragment как указано в android:fragment выше, укажите его собственный файл настроек:

    Класс PrefFragment :

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

    Файл /res/xml/prefs.xml :

     <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="Preferences"> <SwitchPreference android:title="Preference" /> <PreferenceScreen android:title="Sub Preferences" android:fragment="com.example.SettingsDemo.SubPrefFragment"/> </PreferenceCategory> </PreferenceScreen> 

    Создайте дочерний элемент PreferenceFragment как указано в android:fragment выше, также создайте собственный файл настроек:

    Класс SubPrefFragment :

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

    Файл /res/xml/sub_prefs.xml :

     <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="Sub Preferences"> <CheckBoxPreference android:title="Sub Preference"/> </PreferenceCategory> </PreferenceScreen> 

    Вот и все. PreferenceActivity автоматически покажет все дочерние фрагменты.

    Результаты:

    Основной PreferenceFragment : Введите описание изображения здесь

    Заменяется sub PreferenceFragment под тем же заголовком: Введите описание изображения здесь