全接触格斗(都市全接触)

首选项活动

为了引入这个概率,先从需求开始吧。 现有的Activity专门用于手机属性设置,该怎么办?

根据您的经验,活动首选项组合用于接口构建,后者用于设置数据存储实际上是正确的,但需要创建与每个配置选项对应的首选项,因此很复杂

所以现在有更好的选择。 那是本论文的主角。 首选项活动

从名称可以看出,它实际上是活动和性能的混合物

还是从需求出发,常见的属性设置有哪些方法?

1. CheckBox用于确定/取消某些功能。 例如,是否禁用对应于checkbox首选项具有自动绑定到首选项的选项

2. ListView用于列出所有选择。 例如,选择铃声列出所有声音对应于选择。 列表首选项

3 .组合属性,列举一系列相关属性。 例如,与短消息相关的所有功能都与首选项无关,因为它们只用于首选项屏幕或接口

接口其实正在讨论这个比较。 大家自己执行的话会一目了然,所以我觉得还是以步骤为中心

首选项活动经常使用网络,为了防止备份自己,我们稍后再大致介绍一下

代码步骤

1 .首选项活动接口特别位于res/xml/setting.xml

? XML版本=’ 1.0 ‘编码=’ utf-8 ‘? preferencescreenxmlns 3360 Android=’ http://schemas.Android.com/apk/RES/安卓’ checkboxpreferenceandroid 3360 key=’ auto back ‘ Android 3360 title=’自动回复’安卓3360 summary on=’ on ‘ Android 33333333 preferencecategoryandroid : title=’ SMS助手’ checkboxpreferenceandroid 3360 key=’ SMS silence ‘ Android 3360 title=’缪尔maryOff=’关闭’ Android :默认值=’ false ‘/preferencescreenandroid 3360 title=’更多选择’ checkboxpreferenceandroid 3360 key=’ cb21 ‘ Android 3360 title=’功能1 ‘ Android tvalue=’ true ‘/checkboxpreferenceandroid 3360 key=’ cb22 ‘ Android : title=’功能2′ android:summaryOn=’使用’ listpreferenceandroid : key=’ list1′ Android3360 title=’ Android forum ‘ Android : summary=’开发论坛’ Android 3360

tle=”请选择论坛” android:entries=”@array/entries_list_preference” android:entryValues=”@array/entriesvalue_list_preference” /> <EditTextPreference android:key=”et1″ android:title=”EditTextPreference Sample” android:summary=”点击输入” android:dialogTitle=”输入设置” android:defaultValue=”Hello EditTextPreference” /> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title=”其他选项”> <RingtonePreference android:key=”rt1″ android:title=”RingtonePreference Sample” android:summary=”选择铃声” /> </PreferenceCategory></PreferenceScreen>

 

 

2. 导入setting.xml

 

addPreferencesFromResource(R.xml.settings);

 

  emulator 运行截图:

 

  

 

点开”更多选项”

 

 

 

 

具体 请大家自己尝试之

 

 

 

3. 其实 关于PreferenceActivity 问题 基本结束了 但是 初次使用 会碰到一些坎坷 现一一讨论

 

 

4. 监听设定变化问题    普通布局里的监听  比较简单 先通过findViewById()获得目标View  再在其上注册监听器即可

 

但是 PreferenceActivity 并没有提供findViewById()  也就无法监听 那么 怎么做呢?  

 

– 得到SharedPreferences 句柄

 

sp = PreferenceManager.getDefaultSharedPreferences(this);

 

– 在 sp 之上注册改变监听器

 

sp.registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener(){@Override//sharedPreferences:句柄//key: 改变 键值public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {// TODO Auto-generated method stub if(key.equals(“autoBack”)){ Boolean autoBack = sharedPreferences.getBoolean(“autoBack”, false); if(autoBack){ Log.d(“TAG”,”autoBack: true!”); } else { Log.d(“TAG”,”autoBack: false!”); } }} });

 

 

 

5. Preference 异地使用 即:PreferenceActivity 在一个应用程序 而别处应用程序可能也想改变该数据   怎么做呢?

 

– 通过getSharedPreferences()  得到SharedPreferences实例

 

spc = this.getSharedPreferences(“com.android.PreferenceActivity.Usage_preferences.xml”, MODE_WORLD_READABLE );

 

– 取值

 

Boolean autoBack = spc.getBoolean(“autoBack”, false);

 

– 赋值

 

public void putValue(String key, Boolean value){ spe = spc.edit(); spe.putBoolean(key, value); spe.commit();}

 

 

 

就这样结束 似乎感觉不爽 所以决定加点料

 

 

– ListPreference 使用

 

<ListPreference android:key=”list1″ android:title=”android forum” android:summary=”开发论坛” android:dialogTitle=”请选择论坛” android:entries=”@array/entries_list_preference” android:entryValues=”@array/entriesvalue_list_preference” />

 

 

 

 

– EditTextPreference 使用

 

<EditTextPreference android:key=”et1″ android:title=”EditTextPreference Sample” android:summary=”点击输入” android:dialogTitle=”输入设置” android:defaultValue=”Hello EditTextPreference” />

 

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注