一.“初次邂逅”
在我们构建设置界面的时候会用到ListPreference这个控件,默认(2.3之前)是单选,但我们现在想要多选,就像下图所示
二.“先看外表”
我们的项目结构如下:
![](http://hi.csdn.net/attachment/201105/11/0_1305106398i64f.gif)
首先我们先看布局文件
preference_layout.xml
这样我们就构建出上面一开始我们看到的那个多选的对话框了
我们用<com.u0fly.MutiSelectListPreference.MutiSelectListPreference>代替了我们之前系统提供的ListPreference
当然我们还要自己构建一个相应的类,该类继承自ListPreference
里面要重写下面这两个方法:
onPrepareDialogBuilder和onDialogClosed
下面是string.xml和arrays.xml中的内容,大家可以根据自己的需要进行修改:
三.“深入了解”接下来我们来看看构建出这个多选设置的类 MutiSelectListPreference前面的布局文件就是通过这个类来构建出多选设置界面的通过com.u0fly.MutiSelectListPreference.MutiSelectListPreferencemain.java 通过xml的形式加载设置界面,前面的文章我们也用过,通过监听onPreferenceChange可以添加具体操作具体参考:http://blog.csdn.net/u0fly/archive/2011/04/28/6370008.aspx参考:http://blog.350nice.com/wp/archives/240
小技巧:
一句话添加管理应用程序的设置选项
<PreferenceScreen android:title="Manage Package Storage" android:summary="Uninstall APK"> <intent android:action="android.intent.action.MANAGE_PACKAGE_STORAGE"/> </PreferenceScreen>