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; } } }