Bibliothèque de support de préférences – SwitchPreference ne fonctionne pas

Il y a quelques jours Google a présenté la Preference Support Library ( lien ). Je viens d'essayer de le mettre en œuvre dans mon application, mais il semble qu'il ne fonctionne pas avec SwitchPreferences ce qui est étrange car Google déclare que nous pouvons utiliser les mêmes fichiers XML que précédemment et explicitement dit que SwitchPreferences est maintenant disponible pour tous les API 7+ dispositifs.

Quote ( Source )

  • Windows 7 Erreur de démarrage AVD de 64 bits: impossible de répartir la mémoire: 8
  • Coins ronds avec couleur bordure
  • Android Studio - Emulator - eglSurfaceAttrib n'est pas implémenté
  • Toolbar.inflateMenu semble ne rien faire
  • Android 2.1: Comment puis-je rechercher la valeur RSSI d'une connexion Bluetooth existante?
  • Comment puis-je utiliser SharedPreferences dans Xamarin.Android?
  • […] et ajouter des préférences en utilisant les mêmes fichiers XML de préférence ( http://goo.gl/wOcIxI ), tout en ajoutant des éléments tels que SwitchPreference (précédemment uniquement disponible sur les périphériques API 14+) à tous les périphériques API 7+ . […]

    Message d'erreur

     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.package/com.my.package.Main}: android.view.InflateException: Binary XML file line #4: Error inflating class (not found)SwitchPreference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

    La partie pertinente est évidemment la Binary XML file line #4: Error inflating class (not found)SwitchPreference .

    Code Java

     public class FragmentSettings extends PreferenceFragmentCompat { @Override public void onCreatePreferences(Bundle bundle, String s) { addPreferencesFromResource(R.xml.preferences); } } 

    Preferences.xml

     <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <SwitchPreference android:key="pref_something" android:summary="Lorem ipsum dolor sit amet" android:title="Lorem ipsum" /> </PreferenceScreen> 

    Donc, fondamentalement, la question est: Est-ce que je fais quelque chose de mal ou est-ce un bug de la Bibliothèque d'Assistance Préférentielle?

  • Ne pas charger de ressources lors de la construction d'Emulator Android à l'aide d'outils Visual Studio pour Apache Cordova dans Visual Studio 2013
  • Cette application ne fonctionnera pas à moins que vous mette à jour l'erreur des services Google Play
  • Impossible de tester l'application après la mise à niveau vers Lollipop
  • Désactiver les notifications sur un URI ContentProvider
  • Transférez le flux vidéo en temps réel vers le serveur en utilisant Android
  • Gestionnaire de téléchargement d'Android terminé
  • One Solution collect form web for “Bibliothèque de support de préférences – SwitchPreference ne fonctionne pas”

    SwitchPreference ajouté au niveau API 14. si vous utilisez Preferences Support Library v7, vous devez utiliser SwitchPreferenceCompat place.

     <SwitchPreferenceCompat android:key="pref_something" android:summary="Lorem ipsum dolor sit amet" android:title="Lorem ipsum" /> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.