Android 設置界面的配置

配置的xml

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;
        }
    }
}
相關文章
相關標籤/搜索