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;
        }
    }
}
相关文章
相关标签/搜索