Salve a tutti,
sono nuovo del forum e anche della programmazione su android, per cui non conosco molto le librerie. Sto sviluppando una piccola app e mi sono imbattuto in questo problema. Per la gestione a schermo delle preference estendo la classe PreferenceFragmentCompat. Fin qui tutto ok. Ora ho necessità di inserire una preference di tipo MultiSelectListPreference, modificato opportunamente il file preference.xml lancio l'app e quando clicco sul menu per aprire il fragment con le preference ottengo questo errore:
Navigo un pò e scopro che la classe MultiSelectListPreference non è presente nel pacchetto di supporto v7 ma nel v14 così aggiungo al file build.gradle la riga:codice:Process: it.nsh.android.converter, PID: 30827 android.view.InflateException: Binary XML file line #75: Error inflating class (not found)MultiSelectListPreference at android.support.v7.preference.PreferenceInflater.createItemFromTag(PreferenceInflater.java:300) at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:358) at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:360) at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:167) at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:117) at android.support.v7.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:115) at android.support.v7.preference.PreferenceFragmentCompat.addPreferencesFromResource(PreferenceFragmentCompat.java:363) at it.nsh.android.converter.ConverterPreferenceFragment.onCreatePreferences(ConverterPreferenceFragment.java:67) at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:215) at android.support.v4.app.Fragment.performCreate(Fragment.java:1939) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:988) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1207) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1572) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:493) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5694) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.preference.MultiSelectListPreference" on path: DexPathList[[zip file "/data/app/it.nsh.android.converter-155.apk"],nativeLibraryDirectories=[/data/app-lib/it.nsh.android.converter-155, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67) at java.lang.ClassLoader.loadClass(ClassLoader.java:497) at java.lang.ClassLoader.loadClass(ClassLoader.java:457) at android.support.v7.preference.PreferenceInflater.createItem(PreferenceInflater.java:233) at android.support.v7.preference.PreferenceInflater.onCreateItem(PreferenceInflater.java:280) at android.support.v7.preference.PreferenceInflater.createItemFromTag(PreferenceInflater.java:289) ************at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:358) ************at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:360) ************at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:167) ************at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:117) ************at android.support.v7.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:115) ************at android.support.v7.preference.PreferenceFragmentCompat.addPreferencesFromResource(PreferenceFragmentCompat.java:363) ************at it.nsh.android.converter.ConverterPreferenceFragment.onCreatePreferences(ConverterPreferenceFragment.java:67) ************at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:215) ************at android.support.v4.app.Fragment.performCreate(Fragment.java:1939) ************at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:988) ************at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1207) ************at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) ************at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1572) ************at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:493) ************at android.os.Handler.handleCallback(Handler.java:733) ************at android.os.Handler.dispatchMessage(Handler.java:95) ************at android.os.Looper.loop(Looper.java:146) ************at android.app.ActivityThread.main(ActivityThread.java:5694) ************at java.lang.reflect.Method.invokeNative(Native Method) ************at java.lang.reflect.Method.invoke(Method.java:515) ************at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) ************at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) ************at dalvik.system.NativeStart.main(Native Method)
Riprovo a lanciare l'app questa volta il fragment con le preference si apre correttamente ma quando clicco sulla preference per aprire la dialog con la list si genera questa eccezione:codice:compile 'com.android.support:preference-v14:23.1.0'
Ho navigato un pò ma non ho trovato nulla. Qualcuno sa aiutarmi a risolvere il problema?codice:Process: it.nsh.android.converter, PID: 24132 java.lang.IllegalArgumentException: Tried to display dialog for unknown preference type. Did you forget to override onDisplayPreferenceDialog()? at android.support.v7.preference.PreferenceFragmentCompat.onDisplayPreferenceDialog(PreferenceFragmentCompat.java:565) at android.support.v7.preference.PreferenceManager.showDialog(PreferenceManager.java:401) at android.support.v7.preference.DialogPreference.onClick(DialogPreference.java:261) at android.support.v7.preference.Preference.performClick(Preference.java:938) at android.support.v7.preference.Preference.performClick(Preference.java:924) at android.support.v7.preference.Preference$1.onClick(Preference.java:136) at android.view.View.performClick(View.java:4651) at android.view.View$PerformClick.run(View.java:19310) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5694) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) at dalvik.system.NativeStart.main(Native Method)
Grazie

LinkBack URL
About LinkBacks
Rispondi quotando