0

我有一个偏好活动,它从以下 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); 但这只会更改打开之前显示的视图

更新

我通过将嵌套的 PreferenceScreens 更改为普通首选项并覆盖其 onclick 方法以从列表视图中清除首选项并从适当的 XML 文件重新加载首选项来修复(Kludged)此问题。

4

2 回答 2

1

我相信这是此处描述的错误的另一个症状 解决方法是在每次打开首选项屏幕时重置布局。

于 2011-02-28T15:58:54.437 回答
0

您想通过自定义首选项屏幕实现什么目标?是不是这里要考虑偏好?我也很确定首选项布局必须位于“xml”文件夹而不是“布局”中

于 2011-01-28T00:40:07.610 回答