如何在Android中打开嵌套的子首选项屏幕

如何在Android中打开嵌套的子首选项屏幕,android,android-preferences,Android,Android Preferences,我有一个用XML定义的PreferenceScreen,它为我的应用程序提供所有首选项。此首选项屏幕中还嵌套了一个子首选项屏幕。我的实现类称为PreferencesActivity。我知道我可以通过startActivity(newintent(这个,PreferencesActivity.class))打开主首选项窗口;但是我如何通过意图打开儿童偏好屏幕呢?我在我的项目盗窃感知()中研究了一段时间(一点广告…:-),我找到了解决方案: PreferenceScreen screen = get

我有一个用XML定义的PreferenceScreen,它为我的应用程序提供所有首选项。此首选项屏幕中还嵌套了一个子首选项屏幕。我的实现类称为PreferencesActivity。我知道我可以通过startActivity(newintent(这个,PreferencesActivity.class))打开主首选项窗口;但是我如何通过意图打开儿童偏好屏幕呢?

我在我的项目盗窃感知()中研究了一段时间(一点广告…:-),我找到了解决方案:

PreferenceScreen screen = getPreferenceScreen(); // gets the main preference screen     
screen.onItemClick(null, null, INDEX , 0); // click on the item

其中INDEX是您要在屏幕上打开的项目的位置

最后,请参阅基于Reinhard想法的更通用的解决方案

非常感谢!!!我想知道这是否可以调整以使项目的定位不可知。我已经通过Reinhard实现了该方法。要更一般地解决它,请参阅我的问题答案中的链接!工作,但如果您使用的是PreferenceCategories,请务必阅读deepak patel的代码并使用它,否则“getOrder”将无法工作