0
Kann nicht herausfinden, was los ist. Fehlerprotokoll hilft nicht, ich habe versucht, ein paar Lösungen auch hier zu erwähnen.Kann android.support.v14.preference.MultiSelectListPreference nicht funktionieren
05-24 17:32:05.674 2283-2283/? E/Crash: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xyz.android/com.xyz.android.activities.user_management.NewUserProfileActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class android.support.v14.preference.MultiSelectListPreference
-------------------------------
--------- Stack trace ---------
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2667)
android.app.ActivityThread.wrap11(ActivityThread.java)android.app.ActivityThread$H.handeMessage(ActivityThread.java:1494)
android.os.Handler.dispatchMessage(Handler.java:111)
android.os.Looper.loop(Looper.java:207)
android.app.ActivityThread.main(ActivityThread.java:5770)java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
--------- Cause ---------
android.view.InflateException: Binary XML file line #20: Error inflating class android.support.v14.preference.MultiSelectListPreference
android.support.v7.preference.PreferenceInflater.createItem(PreferenceInflater.java:263
android.support.v7.preference.PreferenceInflater.createItemFromTag(PreferenceInflater.java:292)
android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:359)
android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:361)
android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:167)
android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:117)
android.support.v7.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:128)
android.support.v7.preference.PreferenceFragmentCompat.addPreferencesFromResource(PreferenceFragmentCompat.java:428)
com.xyz.android.activities.user_management.UserProfilePrefFragment.onCreatePreferences(UserProfilePrefFragment.java:12)
android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:223)
android.support.v4.app.Fragment.performCreate(Fragment.java:2180)
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1244)
android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1085)
android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:976)
android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:95)
android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146
android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2103)
android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2013)
android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388)
Hier ist die Präferenz
<android.support.v14.preference.MultiSelectListPreference
android:defaultValue="array/pref_hobby_list_default"
android:dialogTitle="Hobbies"
android:summary="set your hobbies"
android:key="hobby_pref"
android:title="Hobbies"
android:icon="@drawable/add_favorite"
android:entries="@array/hobbies"
android:entryValues="@array/hobby_values"/>
Entsprechende String-Arrays
<string-array name="hobbies">
<item>Football</item>
<item>Travelling</item>
<item>Listening to Music</item>
<item>Painting</item>
<item>Watching Movies</item>
<item>Shopping</item>
<item>Meeting new people</item>
</string-array>
<string-array name="hobby_values">
<item>football</item>
<item>travelling</item>
<item>listening_to_music</item>
<item>painting</item>
<item>watching_movies</item>
<item>shopping</item>
<item>meeting_new_people</item>
</string-array>
<string-array name="pref_hobby_list_default">
<item>football</item>
<item>travelling</item>
<item>listening_to_music</item>
<item>painting</item>
<item>watching_movies</item>
<item>shopping</item>
<item>meeting_new_people</item>
</string-array>
Preference Fragment:
import android.support.v7.preference.PreferenceFragmentCompat;
public class UserProfilePrefFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
// Load the Preferences from the XML file
addPreferencesFromResource(R.xml.app_preferences);
}
}
Der dumme Fehler. Ich weiß nicht, warum die IDE mich nicht gewarnt habe? Liegt es daran, dass es sich nicht um eine vordefinierte (?) Ressource wie Layouts und Werte handelt? Wie auch immer, vielen Dank. –