Android首选项 - 更改它们的显示顺序

2 android preferences

我正在尝试创建一个以a开头的类层次结构PreferenceActivity.

想法是基类包含"关于我"按钮,然后下一个类实现游戏/应用程序/壁纸的通用首选项,然后下一个类添加每个实际游戏/应用程序的细节.

这个想法运作良好但是因为我在每个级别添加了来自XML的首选项,所以它们首先出现最通用(最低级别)的首选项(例如我的"关于"按钮).

理想情况下,我希望它们是另一种方式 - 所以特定的首选项出现在列表的顶部,而通用的首选项出现在底部 - 是否有任何方法可以实现这一点(我已经阅读了有关PreferenceFragments的文档和新的PreferenceHeaders,甚至似乎没有提供任何东西?)

是否有任何编程方式在整体顺序中移动PreferenceCategorys或PreferenceScreens ??

基本上当我使用时

addPreferencesFromResource(R.xml.clock_settings);
Run Code Online (Sandbox Code Playgroud)

我想要一个

addPreferencesFromResourceAtBottom(R.xml.clock_settings);
Run Code Online (Sandbox Code Playgroud)

小智 6

我很擅长回答我自己的问题:)

解决方案在于android:orderXML参数 - 使用它Preference(或者PreferenceGroup它的子类)将在屏幕上将正确的序列排序!

您也可以动态更改它,setOrder()Preference如果它们已经添加到a中,它将不会重新排序PreferenceGroup.