Проблема рендеринга TextClock в предпросмотре макета - PullRequest
5 голосов
/ 06 марта 2020

Когда я создал виджет TextClock в макете Android Предварительный просмотр макета студии вызвал и не показывал изменения. Но на отладке придумать виджет, работать отлично. Если бы я прокомментировал это, предварительный просмотр макета работал успешно. Еще одна P C Android Студия успешно работает и показывает TextClock.

Предварительный просмотр схемы ошибок

java.lang.NullPointerException
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:2263)
at android.widget.TextClock.registerObserver(TextClock.java:626)
at android.widget.TextClock.onAttachedToWindow(TextClock.java:545)
at android.view.View.dispatchAttachedToWindow(View.java:19575)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:44)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:355)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:404)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:141)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:657)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$7(RenderTask.java:788)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

TextClock XML код

<TextClock
            android:layout_width="120dp"
            android:layout_height="35dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginEnd="16dp"
            android:format24Hour="dd.MMMyyyy, HH:mm"
            android:format12Hour="dd.MMM.yyyy, hh:mm a"
            android:textColor="#d0ffffff"
            android:textSize="30sp" />

Изменение minSdkVersion до 17 и создание макета v17 не дало никаких результатов. Проблема обнаружена в Android Studio 3.6, 3.6.1 и 4.0

Ответы [ 2 ]

3 голосов
/ 18 марта 2020

Прокомментируйте ваш TextClock и обновите sh ваш предварительный просмотр, а затем раскомментируйте ваш TextClock. Это исправит вашу проблему.

Я столкнулся с этой проблемой при обновлении до AS 3.6.1

1 голос
/ 11 марта 2020

У меня была такая же проблема; Мой обходной путь состоял в том, чтобы преобразовать TextClock в TextView с помощью правого клика -> преобразовать представление, поскольку TextClock расширяет TextView, затем Layout рендерится, и после рендеринга Layout я преобразовал его обратно в TextClock.

Это уродливый обходной путь - не исправление (вы должны повторить это после закрытия Android Studio) - но по крайней мере теперь я вижу макет.

Я сообщу об этом Android Studio как об ошибке, и, надеюсь, они исправят это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...