R.xml.preferenceshtml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="实时数据"> <SwitchPreference android:defaultValue="false" android:title="开启刷新数据" android:summary="在实时数据中开启实时刷新最新的数据" android:key="switch_preference_1" /> <ListPreference android:key="list_preference" android:title="数据周期" android:summary="选择数据刷新时间(默认一分钟)" android:dependency="switch_preference_1" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="选择一个" /> </PreferenceCategory> </PreferenceScreen>
SettingActivity .javajava
public class SettingActivity extends AppCompatActivity { ListPreference listPreference; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_setting); SettingFragment settingFragment = new SettingFragment(); getFragmentManager().beginTransaction() .add(android.R.id.content, settingFragment) .commit(); } public static class SettingFragment extends PreferenceFragment{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } //获取到配置信息 public void getSp(){ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()); boolean switchRealTime = sp.getBoolean("switch_preference_1",false); } //配置监听,当改变的时候触发 @Override public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { // return super.onPreferenceTreeClick(preferenceScreen, preference); SharedPreferences sp = preference.getSharedPreferences(); boolean switchRealTime = sp.getBoolean("switch_preference_1",false); MyLog.print(switchRealTime+""); return true; } } }