配置的xml
R.xml.preferences
<?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 .java
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;
}
}
}