MultiSelectListPreference Erreur java.lang.RuntimeException
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:
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:
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:
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> |
MultiSelectListPreference
Bonjour lankoande,
Merci de ta réponse, ce qui me parait bizarre c'est que j'ai lu dans plusieurs tuto et forum que le defaultValue était indispensenble pour la MultiSelectListPreference.
Toutefois j'ai essayé ce que tu m'as dis mais sans résultat.
As-tu un exemple ou un lien de la façon programmatique, je suis novice et je n'en ai jamais entendu parlé.
merci