Fixed
Status Update
Comments
di...@google.com <di...@google.com>
be...@google.com <be...@google.com>
be...@google.com <be...@google.com> #2
This should be fixed in 3.3.2 which we'll be releasing soon.
ka...@gmail.com <ka...@gmail.com> #3
Was this backported to the 3.4 betas too, or will you skip that version? Didn't see it mentioned in the release notes for 3.4 beta 4.
Guess I'll know soon enough after my download has finished (25% done). :-)
Guess I'll know soon enough after my download has finished (25% done). :-)
be...@google.com <be...@google.com> #4
Yes, it was backported to 3.4 as well. Please give it a go and update the bug if you can still see the problem.
ka...@gmail.com <ka...@gmail.com> #5
This is great, thanks! I can confirm that it works in 3.4 beta 4. :-)
Description
1. Clone
2. Open the project in Android Studio 3.3 RC2 and Build.
3. Open file lib/src/main/res/layout/item_with_custom_view.xml
4. CustomView is not rendered correctly in Preview window. Force Refresh Layout and Rebuild don't help.
Clicking on Issues button reveals this stacktrace:
java.lang.IllegalStateException: findViewById(R.id.avatar) must not be null
at com.custom.view.preview.bug.lib.CustomView.<init>(CustomView.kt:19)
at com.custom.view.preview.bug.lib.CustomView.<init>(CustomView.kt:9)
at com.custom.view.preview.bug.lib.CustomView.<init>(CustomView.kt)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:403)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:186)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:144)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:299)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:418)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:429)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:333)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:863)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:837)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:385)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:509)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$4(RenderTask.java:638)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
The preview works if item_with_custom_view.xml is located in app module.
This bug also present in 3.2.1 and 3.4.0 Preview 7.
Build: 3.3 RC 2, AI-182.5107.16.33.5160847, 201812040121,
AI-182.5107.16.33.5160847, JRE 1.8.0_152-release-1248-b01x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.14.2 unknown, screens 2560x1440; Retina
Android Gradle Plugin: 3.2.1
Gradle: 4.10.3