anko icon indicating copy to clipboard operation
anko copied to clipboard

IDE Error opening Anko Layout Preview Tool Window

Open u201701 opened this issue 6 years ago • 6 comments

With the following source code, I get an IDE Error when I open the Anko Layout Preview tool window in Android Studio 3.3.1 with Kotlin plugin version: 1.3.21, Anko version set to 0.10.8 in project build.gradle and implementation "org.jetbrains.anko:anko:$anko_version" added to app build.gradle

package com.foobar.deleteme

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import org.jetbrains.anko.*

class MainActivityUI : AnkoComponent < MainActivity > {
    override fun createView(ui: AnkoContext<MainActivity>) = ui.apply {
        verticalLayout {
            button("bar")
        }
    }.view
}

class MainActivity : AppCompatActivity() {
    override fun onCreate(bundle: Bundle?) {
        super.onCreate(bundle)
        MainActivityUI().setContentView(this)
    }
}

Stack trace:

java.lang.IllegalArgumentException: java.lang.ClassCastException@5d0792b9
	at sun.reflect.GeneratedConstructorAccessor1138.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.jetbrains.kotlin.android.dslpreview.DslPreviewClassResolver$Companion.createTypeMapper(DslPreviewClassResolver.kt:131)
	at org.jetbrains.kotlin.android.dslpreview.DslPreviewClassResolver$Companion.access$createTypeMapper(DslPreviewClassResolver.kt:122)
	at org.jetbrains.kotlin.android.dslpreview.DslPreviewClassResolver.resolveClassDescription(DslPreviewClassResolver.kt:116)
	at org.jetbrains.kotlin.android.dslpreview.DslPreviewClassResolver.getOnCursorPreviewClassDescription(DslPreviewClassResolver.kt:59)
	at org.jetbrains.kotlin.android.dslpreview.AnkoNlPreviewManager.refresh(AnkoNlPreviewManager.kt:122)
	at org.jetbrains.kotlin.android.dslpreview.AnkoNlPreviewManager.getBoundXmlFile(AnkoNlPreviewManager.kt:81)
	at com.android.tools.idea.uibuilder.editor.NlPreviewForm.getFile(NlPreviewForm.java:220)
	at com.android.tools.idea.uibuilder.editor.NlPreviewForm.initNeleModelWhenSmart(NlPreviewForm.java:422)
	at com.android.tools.idea.uibuilder.editor.NlPreviewForm.lambda$initNeleModel$5(NlPreviewForm.java:418)
	at com.intellij.openapi.project.DumbServiceImpl.lambda$smartInvokeLater$7(DumbServiceImpl.java:438)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:817)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:758)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:394)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

u201701 avatar Feb 13 '19 11:02 u201701

I have the same problem i'm blocked :/

louaydhyeb avatar Mar 03 '19 22:03 louaydhyeb

same problem!

acrrono avatar Mar 09 '19 06:03 acrrono

same problem with Android Studio 3.3.2 with Kotlin plugin version: 1.3.21 and ext.anko_version = '0.10.7'

ABStepanov avatar Mar 19 '19 18:03 ABStepanov

same problem with Intellij idea Ultimate 18.3.5 with Kotlin plugin version: 1.3.21 and ext.anko_version = '0.10.8'

rahatipour avatar Mar 20 '19 12:03 rahatipour

I deleted Android Studio 3.3.2 and installed AS 3.2 (with kotlon 1.2.71 included) + " ext.anko_version='0.10.7' " in gradle file. After that, everything worked.

ABStepanov avatar Mar 21 '19 14:03 ABStepanov

@ABStepanov , that did not worked on my case, just downgraded everything but no progress. Blocked by this issue since my project was built with anko layouts and unable implement design changes without preview. :(

tanks007 avatar Aug 13 '19 05:08 tanks007