1

背景:
我有一个带有 3 个偏好组的preference.xml,分别称为 GroupA、GroupB 和 GroupC,每个组都有许多项目。我可以开始我的选项意图,它显示了我的 3 个组,单击每个组会给出子项。这工作得很好。

当我从我的主要活动开始偏好意图时,我可以传递一些额外的信息,如下所示。

Intent intent = new Intent(this, Options.class);
intent.putExtra("pg","GroupB");
startActivity(intent);

在 Options 类的 onCreate 例程中,读取额外的信息,如下所示:

String sPrefGroup = intent.getStringExtra("scr");

问题:
如何指示 Options 类显示选定的 PreferenceGroup,而不是从 Preferences XML 的根目录开始

4

1 回答 1

1

简单的解决方案是制作一个名为preferences_groupb.xml 的preferences.xml 文件的副本,它只包含我想要显示的首选项

然后在 Options.class 我使用类似于以下的代码:

Intent intent = getIntent(); 
String sPrefGroup = intent.getStringExtra("pgGroupB");
if (TextUtils.isEmpty(sPrefGroup))
    addPreferencesFromResource(R.xml.preference);
else
    addPreferencesFromResource(R.xml.preference_favorites);
于 2012-12-14T02:47:50.907 回答