Пользовательский макет PreferenceActivity теряется для вложенных экранов PreferenceScreens - PullRequest
0 голосов
/ 28 января 2011

У меня есть действие с предпочтениями, которое получает его макет из следующего XML. Это заставляет кнопку появляться внизу настроек.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myapp="http://schemas.android.com/apk/res/com.stealthcopter.nexus.nexusgl"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
<ListView android:id="@android:id/list"
    android:layout_weight="1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />
<Button android:text="This is a button on top of all preferences."
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />         
</LinearLayout>

Однако, если открыть вложенный PreferenceScreen внутри, он возвращается к отображению только списка, есть ли простой способ сохранить одинаковое расположение между экранами предпочтений?

Я пробовал PreferenceScreen.setLayoutResource (R.id.layout.main); но это просто меняет вид, отображаемый до его открытия

Обновление

Я исправил (Kludged) это, изменив вложенные PreferenceScreens в обычные настройки и переопределив их методы onclick для очистки настроек из списка и перезагрузки настроек из соответствующего файла XML.

Ответы [ 2 ]

1 голос
/ 28 февраля 2011

Я считаю, что это еще один признак ошибки, описанной здесь Обходной путь - сбросить макет каждый раз, когда открывается экран настроек.

0 голосов
/ 28 января 2011

Чего вы пытаетесь достичь с помощью экрана пользовательских настроек?Здесь нет предпочтений принимать во внимание здесь?Я также уверен, что макет предпочтения должен находиться в папке «xml», а не в «макете»

...