Android MultiSelectListPreference, java.lang.String ne peut pas être jeté sur java.util.Set

J'essaie d'implémenter MultiSelectListPreference pour ma vue de paramètres:

<MultiSelectListPreference android:title="@string/title" android:summary="@string/message" android:key="pref_foobar" android:defaultValue="@array/empty_array" android:entries="@array/fooArray" android:entryValues="@array/fooValues" /> 

Le tableau:

  • Comment gérer l'état UI et la pile arrière dans une mise en page simple / à double volet
  • Android: java.lang.OutOfMemoryError: Impossible d'attribuer une allocation d'octets 23970828 avec 2097152 octets gratuits et 2 Mo jusqu'à OOM
  • Impossible d'installer .apk après le décodage et la reconstruction (Apktool, Apkstudio)
  • Existe-t-il une possibilité d'exécuter des applets sur Android ou Blackberry?
  • Android ViewPager findViewById ne fonctionne pas - Toujours retourner nulle
  • AdMob: manquant d'attribut XML ADUnitID
  •  <resources> <string-array name="fooArray"> <item>Foo</item> <item>Bar</item> </string-array> <string-array name="fooValues"> <item>foo_value</item> <item>bar_value</item> </string-array> <string-array name="empty_array"/> </resources> 

    Cependant, cela me donne l'exception suivante:

    Java.lang.RuntimeException: Impossible de démarrer l'activité ComponentInfo {com.myproject / .SettingsActivity}: java.lang.ClassCastException: java.lang.String ne peut pas être transféré sur java.util.Set

    Full stacktrace: http://pastebin.com/kBDByXY5

    Quelques idées, quoi de faux?


    Code:

     public class SettingsActivity extends Activity { private static final String TAG_SETTINGS_FRAGMENT = "SETTINGS_FRAGMENT"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .replace(android.R.id.content, new PreferenceFragment(), TAG_SETTINGS_FRAGMENT).commit(); } } public static class PreferenceFragment extends android.preference.PreferenceFragment{ public PreferenceFragment() { //required } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } } 

  • Bluetooth SPP entre Android et d'autres périphériques, UUID et PIN questions
  • Erreur de mémoire morte lors de l'infiltration d'une mise en page xml simple dans Android
  • Android Polymorphism: Anti-Pattern?
  • Comment désactiver le zoom sur Chrome sur Android?
  • Java.lang.NoClassDefFoundError: ayc pour InterstitialAd
  • Désirialisation de matrices d'objets
  • One Solution collect form web for “Android MultiSelectListPreference, java.lang.String ne peut pas être jeté sur java.util.Set”

    On dirait que vous avez déjà une préférence de String simple sous cette clé sur votre appareil ou votre émulateur. Essayez complètement de désinstaller et de réinstaller l'application, ou d'utiliser "Effacer les données" pour l'application dans son écran dans Paramètres, pour effacer vos SharedPreferences existants.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.