Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Preferences Support Library – SwitchPreference no funciona

Hace unos días Google presentó la Preference Support Library ( Link ). Acabo de intentar implementarlo en mi aplicación, aunque parece que no funciona con SwitchPreferences cual es extraño porque Google afirma que podemos usar los mismos archivos XML que antes y explicity dice que SwitchPreferences ya está disponible para todos los API 7+ Dispositivos.

Citar ( Fuente )

  • Guardar una imagen de una firma en un archivo de Rhodes en Android
  • Android RX - Observable.timer solo disparando una vez
  • ¿Existe un archivo de clase universal o "grasa" para Java?
  • Glide: ¿Cómo encontrar si la imagen ya está en caché y utilizar la versión en caché?
  • Webview no muestra Twitter en algunos Droids
  • Preferencia personalizada, targetSdkVersion = "11": falta el sangrado?
  • […] y añadir preferencias utilizando los mismos archivos XML de preferencia ( http://goo.gl/wOcIxI ), a la vez que añade soporte para elementos como SwitchPreference (anteriormente sólo disponible en dispositivos API 14+) a todos los dispositivos API 7+ . […]

    Mensaje de error

     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 parte relevante es, obviamente, la Binary XML file line #4: Error inflating class (not found)SwitchPreference .

    Código 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> 

    Así que básicamente la pregunta es: ¿Estoy haciendo algo mal o es realmente un error de la biblioteca de soporte de preferencias?

  • Error en la compilación de Android: java.lang.IllegalArgumentException: ya agregado: Lcom / google / api / client / escape / CharEscapers;
  • Contexto quiere FLAG_ACTIVITY_NEW_TASK pero ya he establecido ese indicador
  • PreferenceFragment crashing, objeto nulo Referencia
  • Gradle no pudo resolver la biblioteca en Android Studio
  • Configurar la carpeta de prueba para las pruebas unitarias en el estudio de Android
  • Función androide.MAIN y función category.LAUNCHER
  • One Solution collect form web for “Preferences Support Library – SwitchPreference no funciona”

    SwitchPreference añadido en el API de nivel 14. si está utilizando la Biblioteca de soporte de preferencias v7, debe utilizar SwitchPreferenceCompat lugar.

     <SwitchPreferenceCompat android:key="pref_something" android:summary="Lorem ipsum dolor sit amet" android:title="Lorem ipsum" /> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.