1

J'ai ce xml où j'affiche un CalendarView et un tas de boutons. J'ai essayé d'installer l'APK signé dans les appareils fonctionnant sur 5.0.2 ou moins et j'ai découvert que CalendarView ne s'affichait pas du tout. En fait, le mois et l'année sont affichés. CalendarView est visible dans l'API 23, mais en dessous, il n'est pas visible. Toute aide est appréciée.CalendarView non visible dans API 22 et ci-dessous

EDIT: Ceci est la trace de la pile

java.lang.NullPointerException 
at android.graphics.Canvas_Delegate$11.draw(Canvas_Delegate.java:974) 
at com.android.layoutlib.bridge.impl.GcSnapshot.drawOnGraphics(GcSnapshot.java:654) 
at com.android.layoutlib.bridge.impl.GcSnapshot.drawInLayer(GcSnapshot.java:606) 
at com.android.layoutlib.bridge.impl.GcSnapshot.draw(GcSnapshot.java:582) 
at android.graphics.Canvas_Delegate.draw(Canvas_Delegate.java:937) 
at android.graphics.Canvas_Delegate.drawText(Canvas_Delegate.java:960) 
at android.graphics.Canvas_Delegate.native_drawText(Canvas_Delegate.java:847) 
at android.graphics.Canvas_Delegate.native_drawText(Canvas_Delegate.java:859) 
at android.graphics.Canvas.native_drawText(Canvas.java) 
at android.graphics.Canvas.drawText(Canvas.java:1665) 
at android.widget.CalendarViewLegacyDelegate$WeekView.drawWeekNumbersAndDates(CalendarViewLegacyDelegate.java:1434) 
at android.widget.CalendarViewLegacyDelegate$WeekView.onDraw(CalendarViewLegacyDelegate.java:1355) 
at android.view.View.draw(View.java:15231) 
at android.view.View.draw(View.java:15140) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.widget.ListView.drawChild(ListView.java:3396) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.widget.AbsListView.dispatchDraw(AbsListView.java:2603) 
at android.widget.ListView.dispatchDraw(ListView.java:3391) 
at android.view.View.draw(View.java:15234) 
at android.widget.AbsListView.draw(AbsListView.java:4110) 
at android.view.View.draw(View.java:15140) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15234) 
at android.widget.FrameLayout.draw(FrameLayout.java:598) 
at android.widget.ScrollView.draw(ScrollView.java:1689) 
at android.view.View.draw(View.java:15140) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1229) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15138) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15234) 
at android.view.View.draw(View.java:15140) 
at android.view.ViewGroup.drawChild_Original(ViewGroup.java:3405) 
at android.view.ViewGroup_Delegate.drawChild(ViewGroup_Delegate.java:65) 
at android.view.ViewGroup.drawChild(ViewGroup.java:3405) 
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3198) 
at android.view.View.draw(View.java:15234) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.render(RenderSessionImpl.java:601) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:323) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498) 
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:967) 
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498) 
at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72) 
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610) 
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607) 
at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:359) 
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607) 
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629) 
at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$7.run(AndroidDesignerEditorPanel.java:519) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327) 
at com.intellij.util.ui.update.MergingUpdateQueue$3.run(MergingUpdateQueue.java:271) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:286) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:244) 
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:234) 
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 
at com.intellij.util.Alarm$Request$1.run(Alarm.java:352) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
+1

Peut-être que vous utilisez des méthodes qui ne sont pour l'API 23, et non applicable sur l'API 22 et ci-dessous. Vous pouvez vérifier cette [CalendarView] (http://developer.android.com/reference/android/widget/CalendarView.html) pour le niveau API 22 pour vérifier son contenu. Si les méthodes et les attributs sont en gris, cela signifie que c'est seulement pour le niveau 23 de l'API. Vous pouvez également voir ici quelle méthode est déjà obsolète au niveau 23 de l'API. – KENdi

+0

@KENdi Je n'ai que la vue de base avec les propriétés largeur et hauteur .still pas visible juste pour api 22 – human

Répondre

0

J'étais en utilisant des méthodes comme dépréciées setSelectedWeekBackgroundColor, setUnfocusedMonthDateColor dans mon dossier de classe. Supprimé ces lignes et l'a remplacé par du code XML. Maintenant, ça fonctionne bien.

EDIT Je travaille toujours pas

EDIT2 finalement travail utilisé hauteur hardcoded pour le calendrier