参考链接:http://blog.csdn.net/ixiaobu/article/details/8609935
1、Preference Headers方法要点是:在主屏中通过.xml文件布局列出所有的主题设置项,而每个主题的详细设置则由各自指定的PreferenceFragment负责,而
各自的PreferenceFragment可以如传统的PreferenceActivity一样布局自身的PreferenceScreen。从android3.0以后,android不再推荐直接让PreferenceActivity
加载选项设置的布局文件,而是建议将PreferenceActivity和PreferenceFragment结合使用,其中PreferenceActivity只负责加载选项设置列表的布局文件,PreferenceFragment
才负责加载选项设置的布局文件。
<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
<header
android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentOne"
android:title="@string/prefs_category_one"
android:summary="@string/prefs_summ_category_one" />
<header
android:fragment="com.example.prefs.SettingsActivity$SettingsFragmentTwo"
android:title="@string/prefs_category_two"
android:summary="@string/prefs_summ_category_two" >
<!-- key/value pairs can be included as arguments for the fragment. -->
<extra android:name="someKey" android:value="someHeaderValue" />
</header>
</preference-headers>
为了显示.xml文件中的布局列表,需要在继承的PreferenceActivity类中实现onBuildHeaders()回调方法:
public class SettingsActivity extends PreferenceActivity {
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preference_headers, target);
}
}