DatePicker nullpointer Android Studio

  • Antworten:5
Paule
  • Forum-Beiträge: 106

09.01.2014, 14:17:25 via Website

Hallo,

ich möchte gerne auf meinem Activity eine DatePicker haben. Dazu habe ich folgendes im XML angelegt:

1<DatePicker
2 android:id="@+id/date_picker"
3 android:layout_width="wrap_content"
4 android:layout_height="wrap_content" />

sonst ist nicht darauf.

Ich erhalte dann im Android Studio wenn ich auf Design gehe die folgende Exception:

java.lang.NullPointerException
at android.widget.CalendarView.setUpHeader(CalendarView.java:1035)
at android.widget.CalendarView.<init>(CalendarView.java:403)
at android.widget.CalendarView.<init>(CalendarView.java:333)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:86)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:131)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.widget.DatePicker.<init>(DatePicker.java:175)
at android.widget.DatePicker.<init>(DatePicker.java:149)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:86)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:669)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:694)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:131)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:373)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:399)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:336)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
at com.android.tools.idea.rendering.RenderService$2.compute(RenderService.java:538)
at com.android.tools.idea.rendering.RenderService$2.compute(RenderService.java:527)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:934)
at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:527)
at com.android.tools.idea.rendering.RenderService.render(RenderService.java:598)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.compute(AndroidLayoutPreviewToolWindowManager.java:581)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.compute(AndroidLayoutPreviewToolWindowManager.java:574)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:945)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:574)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:83)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$6$1.run(AndroidLayoutPreviewToolWindowManager.java:518)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$6.run(AndroidLayoutPreviewToolWindowManager.java:513)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:297)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

Ich habe leider nichts dazu gedfunden. Woran kann das liegen?

Grüße und danke

Antworten
Barbaric Chicken
  • Forum-Beiträge: 66

09.01.2014, 16:18:38 via Website

Was für Code wird in der Activity ausgeführt?
(Am betsen mal posten)
Wie heißt dein Package, damit man das in der Fehlermeldung finden kann.

Viele Grüße

Antworten
Paule
  • Forum-Beiträge: 106

09.01.2014, 16:48:35 via Website

Hallo,

ich habe das auf einen neu angelegten Activity gemacht. Somit wird kein Code ausgeführt außer der Generierte Code:

Was meinst du, wie heißt dein Package?

Grüße

Antworten
Barbaric Chicken
  • Forum-Beiträge: 66

10.01.2014, 10:52:57 via Website

Ich meinte das package in dem die activity liegt.
In deiner Fehlermeldung werden viele packages genannt mir persönlich ist es nicht ganz ersichtlich welches davon nun deines ist.

Wie heißt denn die Activityklasse?

Edit: Okay jetzt wird mir erst klar das du wohl einen Renderfehler erhälst^^ bin mit Android Studio nicht so vertraut.

Wenn du die Calendar View nicht benötigst setze mal in deinem XML das Atrribut calendarViewShown auf false. Also so:
1<DatePicker
2 android:id="@+id/datePicker1"
3 android:layout_width="wrap_content"
4 android:layout_height="wrap_content"
5 android:calendarViewShown="false"/>
Probiere dann ob es geht.

Edit: Wenn ich versuche deinen Fehler zu rekonstruieren (in Eclipse aber) funktioniert das einwandfrei, keine Probleme. Wenn ich es in Android Studio teste erhate ich tatsächlich auch einen Fehler, aber einen anderen xD.

Noch eine Frage kommt der Fehler wenn du es auf einem Gerät testest oder beim rendern in der Vorschau von Android Studio?
Wenn es bei der Vorschau kommt versuche mal den Renderer der Vorschau auf API Level 16 (oder tiefer) zu setzen.

Viele Grüße

— geändert am 10.01.2014, 11:02:54

Antworten
Paule
  • Forum-Beiträge: 106

10.01.2014, 11:45:43 via Website

Hallo,

ich hatte dir wahrscheinlich zu wenig Infos gegeben.
Ich bekommen den Fehler wirklich beim Rendern der Vorschau.

Das mit dem Parameter android:calendarViewShown="false" kalppt es leider auch nicht.

Denn Fehler bekomme ich tasächlich nur im Studio. Auf dem Handy wird das Element angezeigt.

Grüße

Antworten
Barbaric Chicken
  • Forum-Beiträge: 66

10.01.2014, 16:26:07 via Website

Und mit dem herab setzen des API Levels in der Vorschau funktioniert auch nicht?
API Level 16, so heißt es im Netz, soll funktionieren.

Ansonsten wenn es ja trotzdem kompiliert ist es ja immerhin schon mal gut :)
In eclipse beschwert er sich auch beim rendern mit einem Fehler, ich ignorier den immer einfach.

Edit:
Wenn du calendarViewShown = "false" setzt bleibt es bei der selben Fehlermeldung oder ist es eine andere?

Viele Grüße

— geändert am 10.01.2014, 16:27:16

Antworten