Bonjour,
j'écris ce poste car je ne trouve aucun poste similaire à mon problème. Cela concerne l'utilisation des spinner quand j'utilise un background de l'application personnalisé.

Ci-dessous le code de mon background utilisé dans style.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/back_motif1"
    android:tileMode="repeat" />
Une simple image unie répétée pour ne pas étirer. Cela fonctionne correctement que ce soit sur les activités ou fragments. Par contre dés que j'utilise sur une activité ou un fragment un spinner, j'obtiens l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
java.lang.RuntimeException: Unable to start activity ComponentInfo{app.myolympe.com.myolympee/app.myolympe.com.myolympee.main_activities.Params}: android.view.InflateException: Binary XML file line #12: Error inflating class android.widget.Spinner
            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)
     Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class android.widget.Spinner
            at android.view.LayoutInflater.createView(LayoutInflater.java:633)
            at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
            at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378)
            at android.app.Activity.setContentView(Activity.java:2145)
            at app.myolympe.com.myolympee.main_activities.Params.onCreate(Params.java:18)
            at android.app.Activity.performCreate(Activity.java:5990)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
************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)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.newInstance(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
            at android.view.LayoutInflater.createView(LayoutInflater.java:607)
************at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
************at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
************at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
************at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
************at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378)
************at android.app.Activity.setContentView(Activity.java:2145)
************at app.myolympe.com.myolympee.main_activities.Params.onCreate(Params.java:18)
************at android.app.Activity.performCreate(Activity.java:5990)
************at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
************at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
************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)
     Caused by: android.content.res.Resources$NotFoundException: File res/drawable/app_background.xml from color state list resource ID #0x7f020037
            at android.content.res.Resources.loadColorStateList(Resources.java:2592)
            at android.content.res.TypedArray.getColorStateList(TypedArray.java:427)
            at android.graphics.drawable.GradientDrawable.updateGradientDrawableSolid(GradientDrawable.java:1296)
            at android.graphics.drawable.GradientDrawable.applyThemeChildElements(GradientDrawable.java:1124)
            at android.graphics.drawable.GradientDrawable.applyTheme(GradientDrawable.java:1040)
            at android.content.res.Resources.loadDrawable(Resources.java:2373)
            at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
            at android.widget.PopupWindow.<init>(PopupWindow.java:202)
            at android.widget.ListPopupWindow.<init>(ListPopupWindow.java:225)
            at android.widget.Spinner$DropdownPopup.<init>(Spinner.java:1063)
            at android.widget.Spinner.<init>(Spinner.java:205)
            at android.widget.Spinner.<init>(Spinner.java:144)
            at android.widget.Spinner.<init>(Spinner.java:129)
************at java.lang.reflect.Constructor.newInstance(Native Method)
************at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
************at android.view.LayoutInflater.createView(LayoutInflater.java:607)
************at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
************at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
************at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
************at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
************at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378)
************at android.app.Activity.setContentView(Activity.java:2145)
************at app.myolympe.com.myolympee.main_activities.Params.onCreate(Params.java:18)
************at android.app.Activity.performCreate(Activity.java:5990)
************at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
************at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
************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)
     Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag bitmap
            at android.content.res.ColorStateList.createFromXmlInner(ColorStateList.java:148)
            at android.content.res.ColorStateList.createFromXml(ColorStateList.java:131)
            at android.content.res.Resources.loadColorStateList(Resources.java:2588)
************at android.content.res.TypedArray.getColorStateList(TypedArray.java:427)
************at android.graphics.drawable.GradientDrawable.updateGradientDrawableSolid(GradientDrawable.java:1296)
************at android.graphics.drawable.GradientDrawable.applyThemeChildElements(GradientDrawable.java:1124)
************at android.graphics.drawable.GradientDrawable.applyTheme(GradientDrawable.java:1040)
************at android.content.res.Resources.loadDrawable(Resources.java:2373)
************at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
************at android.widget.PopupWindow.<init>(PopupWindow.java:202)
************at android.widget.ListPopupWindow.<init>(ListPopupWindow.java:225)
************at android.widget.Spinner$DropdownPopup.<init>(Spinner.java:1063)
************at android.widget.Spinner.<init>(Spinner.java:205)
************at android.widget.Spinner.<init>(Spinner.java:144)
************at android.widget.Spinner.<init>(Spinner.java:129)
************at java.lang.reflect.Constructor.newInstance(Native Method)
************at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
************at android.view.LayoutInflater.createView(LayoutInflater.java:607)
************at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
************at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
************at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
************at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
************at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
************at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378)
************at android.app.Activity.setContentView(Activity.java:2145)
************at app.myolympe.com.myolympee.main_activities.Params.onCreate(Params.java:18)
************at android.app.Activity.performCreate(Activity.java:5990)
************at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
************at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
************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)
L'erreur vient de la cohabitation spinner / background de style.xml. Sans appliquer le background le spinner ne donne pas d'erreur et s'affiche correctement. Auriez vous des indications ? Ça m'embête de devoir afficher une page blanche pour mettre un spinner...

Logiciel utilisé : Android Studio 1.1.0
Min sdk : 19
Target : 22
Matériel utilisé pour les tests : Nexus 5 Android version 5.1

Cordialement,
Nicolas