用SharedPreferences做setting(设置界面)

来源:互联网 发布:74hc595数据手册 编辑:程序博客网 时间:2024/06/01 09:25

界面布局用XML文件,
放在XML文件夹下,不是放在布局文件下。
下面来看看代码

<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >    <PreferenceCategory        android:key="ordingspeech"        android:title="声音排序"        android:summary="请给声音排序"         >        <CheckBoxPreference             android:key="silentmode"            android:title="静音模式"            android:summary="除了铃声外,全部静音!"/>       <ListPreference            android:dialogTitle="震动"           android:key="vibrate"           android:title="震动"           android:entries="@array/vibaratelist"           android:entryValues="@array/vibaratelist"           android:summary="仅在静音模式下震动!"/>    </PreferenceCategory>    <PreferenceCategory         android:title="来电"        >        <RingtonePreference             android:title="手机铃声"            />    </PreferenceCategory>    <Preference         android:title="其他"/>    <PreferenceScreen android:title="设置WiFi">     <intent         android:action="android.settings.SETTINGS"         />        <EditTextPreference             android:title="请输入WiFi地址"           android:key="inputwifi" />    </PreferenceScreen></PreferenceScreen>

运行界面:

这里其实有一个PrefenceGroup,PreferenceScreen继承它

PreferenceScreen:用于显示一个布局,是所有子控件的父类。
PreferenceCategory:标签,相当于一组组件的标签,如:声音排序,来电
key:用来寻找组件的,在这里不可以用findID的方法,所以用key来存储,来寻找。

震动处有一个选择的,

用item存储在array中,
entries设置的内容是我们在设置时看到的内容,android:entryValues就是保存在preferences.xml中的值。


MainActivity:

package com.example.sharedpreferences_2;import android.app.Activity;import android.app.backup.SharedPreferencesBackupHelper;import android.content.Context;import android.os.Bundle;import android.preference.Preference;import android.preference.Preference.OnPreferenceClickListener;import android.preference.PreferenceActivity;import android.test.PerformanceTestCase;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends PreferenceActivity{    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        addPreferencesFromResource(R.xml.settings);        Preference pref= findPreference("silentmode");        pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {            @Override            public boolean onPreferenceClick(Preference preference) {                // TODO Auto-generated method stub                Toast.makeText(MainActivity.this, preference.getTitle(), 3000).show();                return true;            }        });    }}

Preference pref= findPreference(“silentmode”);用这个来find key
pref.setOnPreferenceClickListener(new OnPreferenceClickListener()
用这个来设置监听,这里用的匿名内部类。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝咳嗽痰多鼻涕多怎么办 宝宝两岁清鼻涕咳嗽痰多怎么办 喉咙咸咸的有痰怎么办 宝宝咳嗽鼻塞喉咙有痰怎么办 绝地求生刺激战场射击键误触怎么办 在皮卡堂卡的游泳了怎么办 假如遇到老赖没能力还钱怎么办 服刑人拒不执行伤害赔偿怎么办? 面对当前严峻形势作为军人怎么办 想起诉不知道对方地址怎么办 遇见家里来嫌疑人员怎么办 老滚5老婆死了怎么办 美化包安装之后闪退怎么办 蕉下的伞坏了怎么办 苹果7通话音质特别差怎么办 雨伞的伞骨坏了怎么办 雨伞的铁丝掉了怎么办 手机银行验证码忘了怎么办 应用安装验证码忘了怎么办 大王卡激活码找不到了怎么办 信用卡的激活码找不到怎么办 育碧账号忘了怎么办 uplay八折券丢了怎么办 不小心按到了育碧解绑怎么办 台式电脑连不上网怎么办 重装系统也安装不了cad怎么办 染发灰色偏绿了怎么办 vgm数据填错了怎么办 克里格插值 不符合正态分布怎么办 克里金插值无效的输出范围怎么办 穿完臭袜子要洗手吗不洗怎么办 超敏c反应蛋白117怎么办 钢铁雄心4无模板怎么办 登录 新浪微博登录异常怎么办 微博授权失败怎么办qq uc微博授权失败怎么办 苹果手机无线网坏了怎么办 小米手机wife信号不好怎么办 微博出错了c403怎么办 微信客服没人接怎么办 安装包解析错误怎么办平板