Reputation: 3237
I am failing to preview a composable function shown in the code below
@Preview
@Composable
fun StartingConversationInstructions() {
Column {
Text(stringResource(id = R.string.remember))
}
}
but I am getting this error when I am trying to preview the function
java.lang.NoSuchMethodError: 'androidx.compose.runtime.SlotTable
androidx.compose.runtime.Composer.getSlotTable()' at
androidx.ui.tooling.InspectableKt.Inspectable(Inspectable.kt:63) at
androidx.ui.tooling.preview.ComposeViewAdapter$WrapPreview$1.invoke(ComposeViewAdapter.kt:357) at
androidx.ui.tooling.preview.ComposeViewAdapter$WrapPreview$1.invoke(ComposeViewAdapter.kt:-1) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:146) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:-1) at
androidx.compose.runtime.AmbientKt.Providers(Ambient.kt:188) at
androidx.ui.tooling.preview.ComposeViewAdapter.WrapPreview(ComposeViewAdapter.kt:356) at
androidx.ui.tooling.preview.ComposeViewAdapter.access$WrapPreview(ComposeViewAdapter.kt:-1) at
androidx.ui.tooling.preview.ComposeViewAdapter$init$1.invoke(ComposeViewAdapter.kt:397) at
androidx.ui.tooling.preview.ComposeViewAdapter$init$1.invoke(ComposeViewAdapter.kt:-1) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:146) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:-1) at
androidx.compose.runtime.AmbientKt.Providers(Ambient.kt:188) at
androidx.compose.ui.platform.AmbientsKt.ProvideCommonAmbients(Ambients.kt:274) at
androidx.compose.ui.platform.AndroidAmbientsKt$ProvideAndroidAmbients$3.invoke(AndroidAmbients.kt:176) at
androidx.compose.ui.platform.AndroidAmbientsKt$ProvideAndroidAmbients$3.invoke(AndroidAmbients.kt:-1) at androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:146) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:-1) at
androidx.compose.runtime.AmbientKt.Providers(Ambient.kt:188) at
androidx.compose.ui.platform.AndroidAmbientsKt.ProvideAndroidAmbients(AndroidAmbients.kt:168) at
androidx.compose.ui.platform.WrappedComposition$setContent$1$1$2.invoke(Wrapper.kt:251) at
androidx.compose.ui.platform.WrappedComposition$setContent$1$1$2.invoke(Wrapper.kt:-1) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:146) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:-1) at
androidx.compose.runtime.AmbientKt.Providers(Ambient.kt:188) at
androidx.compose.ui.platform.WrappedComposition$setContent$1$1.invoke(Wrapper.kt:250) at
androidx.compose.ui.platform.WrappedComposition$setContent$1$1.invoke(Wrapper.kt:-1) at
.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:146) at
androidx.compose.runtime.internal.ComposableLambda.invoke(ComposableLambda.kt:-1) at
androidx.compose.runtime.ComposerKt.invokeComposable(Composer.kt:2904) at
androidx.compose.runtime.Composer.composeInitial(Composer.kt:2070) at
androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:353) at
androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:109) at
androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.kt:235) at
androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.kt:-1) at
androidx.compose.ui.platform.AndroidComposeView.setOnViewTreeOwnersAvailable(AndroidComposeView.kt:545)
at androidx.compose.ui.platform.WrappedComposition.setContent(Wrapper.kt:226) at
androidx.compose.ui.platform.WrappedComposition.onStateChanged(Wrapper.kt:275) at
androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:354) at
androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:196) at
androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.kt:233) at
androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.kt:-1) at
androidx.compose.ui.platform.AndroidComposeView.onAttachedToWindow(AndroidComposeView.kt:610) at
android.view.View.dispatchAttachedToWindow(View.java:20479) at
android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3489) at
android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3496) at
android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3496) at
android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3496) at
android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3496) at
android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:44) Copy stack to clipboard
Tip: Try to refresh the layout.
I am using android studio version: Android Studio Arctic Fox | 2020.3.1 Canary 4
And Android Compose version :1.0.0-alpha09
which I think is the cause of the problem because as you can find in the changes in this version
Removed SlotTable, SlotReader and SlotWriter from the public API. These were marked as InternalComposeAPI previously. Now they are internal to the compose module.
Upvotes: 4
Views: 6371
Reputation: 3
As the @author states in his comment there are two identical annotations:
import androidx.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.Preview
the second one worked for me.
Upvotes: -3
Reputation: 8013
In you dependencies, change
implementation "androidx.ui:ui-tooling:$compose_version"
to
implementation "androidx.compose.ui:ui-tooling:$compose_version"
Does that work?
Upvotes: 12