Bonjour,

Voilà j'aimerai utiliser "MultiSelectListPreference" pour pouvoir combiner plusieurs choix en même temps, mais celui ci ne fonctionne pas.
ListPreference fonctionne sans aucun problème.

Ça fait plusieurs jours que je cherche une solution mais sans resultats.

Si quelqu'un peut m'aider.

Merci

Cordialement.

Android Monitor:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
02-25 14:24:51.920 2357-4998/? E/DatabaseUtils: Writing exception to parcel
                                                java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
                                                    at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13140)
                                                    at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
                                                    at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:607)
                                                    at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
                                                    at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
                                                    at android.os.Binder.execTransact(Binder.java:388)
                                                    at dalvik.system.NativeStart.run(Native Method)
02-25 14:24:51.940 2357-2772/? I/power: *** acquire_dvfs_lock : lockType : 1  freq : 1200000 
02-25 14:24:51.940 2357-2772/? D/SSRMv2:CustomFrequencyManagerService: acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 1200000  uid : 1000  pid : 2357  pkgName : ACTIVITY_RESUME_BOOSTER@5
02-25 14:24:51.940 2357-2772/? W/ActivityManager: mDVFSHelper.acquire()
02-25 14:24:52.150 2357-2772/? D/dalvikvm: GC_FOR_ALLOC freed 1023K, 20% free 42798K/53180K, paused 141ms, total 142ms
02-25 14:24:52.155 2357-2845/? V/WindowManager: Window{42fd3ba0 u0 Keyguard}mOrientationRequetedFromKeyguard=false
02-25 14:24:52.155 2357-2849/? D/WindowManager: computeScreenConfigurationLocked() set config.orientation=2 dw=1280 dh=720 Callers=com.android.server.wm.WindowManagerService.updateOrientationFromAppTokensLocked:5171 com.android.server.wm.WindowManagerService.updateOrientationFromAppTokens:5142 com.android.server.am.ActivityStack.realStartActivityLocked:1021 
02-25 14:24:52.155 2357-2849/? D/PowerManagerService: setKeyboardVisibility: false
02-25 14:24:52.165 1948-2015/? I/SurfaceFlinger: id=4380 createSurf (1x1),1 flag=4, Uoast
02-25 14:24:52.180 2357-2750/? D/PowerManagerService: [api] acquire WakeLock flags=0x2000000a tag=WindowManager uid=1000 pid=2357
02-25 14:24:52.205 1560-1560/? D/AbsListView: Get MotionRecognitionManager
02-25 14:24:52.205 2357-2368/? D/MotionRecognitionService:  ssp status : false
02-25 14:24:52.230 1560-1560/? D/AbsListView: Get MotionRecognitionManager
02-25 14:24:52.250 1560-1560/? D/AndroidRuntime: Shutting down VM
02-25 14:24:52.250 1560-1560/? W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41c51730)
02-25 14:24:52.265 1560-1560/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycoprod.akhetib.mycoprod/com.mycoprod.akhetib.mycoprod.ChoixDMCP}: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
                                                     at android.app.ActivityThread.access$700(ActivityThread.java:159)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
                                                     at android.os.Handler.dispatchMessage(Handler.java:99)
                                                     at android.os.Looper.loop(Looper.java:176)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5419)
                                                     at java.lang.reflect.Method.invokeNative(Native Method)
                                                     at java.lang.reflect.Method.invoke(Method.java:525)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
                                                     at dalvik.system.NativeStart.main(Native Method)
                                                  Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set
                                                     at android.app.SharedPreferencesImpl.getStringSet(SharedPreferencesImpl.java:232)
                                                     at android.preference.Preference.getPersistedStringSet(Preference.java:1470)
                                                     at android.preference.MultiSelectListPreference.onSetInitialValue(MultiSelectListPreference.java:224)
                                                     at android.preference.Preference.dispatchSetInitialValue(Preference.java:1331)
                                                     at android.preference.Preference.onAttachedToHierarchy(Preference.java:1143)
                                                     at android.preference.PreferenceGroup.addPreference(PreferenceGroup.java:163)
                                                     at android.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:104)
                                                     at android.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:45)
                                                     at android.preference.GenericInflater.rInflate(GenericInflater.java:488)
                                                     at android.preference.GenericInflater.rInflate(GenericInflater.java:493)
                                                     at android.preference.GenericInflater.inflate(GenericInflater.java:326)
                                                     at android.preference.GenericInflater.inflate(GenericInflater.java:263)
                                                     at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)
                                                     at android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1540)
                                                     at com.mycoprod.akhetib.mycoprod.ChoixDMCP.onCreate(ChoixDMCP.java:25)
                                                     at android.app.Activity.performCreate(Activity.java:5372)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)*
                                                     at android.app.ActivityThread.access$700(ActivityThread.java:159)*
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)*
                                                     at android.os.Handler.dispatchMessage(Handler.java:99)*
                                                     at android.os.Looper.loop(Looper.java:176)*
                                                     at android.app.ActivityThread.main(ActivityThread.java:5419)*
                                                     at java.lang.reflect.Method.invokeNative(Native Method)*
                                                     at java.lang.reflect.Method.invoke(Method.java:525)*
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)*
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)*
                                                     at dalvik.system.NativeStart.main(Native Method)*
.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="Engin : Visite" xmlns:android="http://schemas.android.com/apk/res/android">
 
    <PreferenceCategory android:title="NON RENTRE">
        <PreferenceScreen
            android:key="nonRentre"
            android:summary="Alerte! L'engin n'est pas rentré!" >
        </PreferenceScreen>
    </PreferenceCategory>
 
 
    <PreferenceCategory android:title="AUTRES:">
            <MultiSelectListPreference
                android:dialogTitle="Selectionner les causes:"
                android:key="listCauses"
                android:summary="Selectionner la ou les causes."
                android:entries="@array/list"
                android:entryValues="@array/lValues"
                android:defaultValue="@array/lValuesDefault">
            </MultiSelectListPreference>
 
 
            <EditTextPreference
                android:dialogTitle="Notifier la cause:"
                android:key="ed_causePerso"
                android:summary="Un imprévu! Mentionnez le!" >
            </EditTextPreference>
 
    </PreferenceCategory>
 
    <PreferenceCategory android:title="COMMENTAIRE:">
        <EditTextPreference
            android:dialogTitle="Mon commentaire:"
            android:key="name1"
            android:summary="Laisser un commentaire." >
        </EditTextPreference>
    </PreferenceCategory>
 
</PreferenceScreen>

array.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
 
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="list">
        <item>Autre 1</item>
        <item>Autre 2</item>
        <item>Autre 3</item>
        <item>Autre 4</item>
        <item>Autre 5</item>
        <item>Autre 6</item>
    </string-array>
 
    <string-array name="lValues">
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>6</item>
    </string-array>
    <string-array name="lValuesDefault">
        <item>1Default</item>
        <item>2Default</item>
        <item>3Default</item>
        <item>4Default</item>
        <item>5Default</item>
        <item>6Default</item>
    </string-array>
 
 
</resources>