5

私は、HomeActivity という新しい空の JC アクティビティを使用して Jetpack Compose をテストしていました。ドローアブル リソースをコードに読み込もうとしています。これは私の機能です:

@Composable
fun home() {
    MaterialTheme(
        colors = colors,
        typography = typography
    ) {
        val menuIcon = +imageResource(R.drawable.ic_baseline_menu_24)
        val bottomActions = listOf<Image>()
        var (drawerState, onDrawerStateChangeListener) = +state { DrawerState.Closed }

        BottomDrawerLayout(drawerState = drawerState, onStateChange = onDrawerStateChangeListener, drawerContent = {
            Text(text = "Drawer")
        }) {
            Column(
                crossAxisSize = LayoutSize.Expand
            ) {
                BottomAppBar(
                    navigationIcon = {
                        drawerState = DrawerState.Opened
                        AppBarIcon(icon = menuIcon, onClick = {})
                    },
                    actionData = bottomActions,
                    action = {
                        AppBarIcon(icon = it, onClick = {})
                    }
                )
            }
        }
    }
}

JC Web サイトによると+imageResource(R.drawable.xyz)、リソースを andX.uiImageオブジェクト imageResource関数の戻り値としてロードする必要がありますEffect<Image>。アプリはクラッシュしませんが、必要な Image オブジェクトに解決する方法がわかりません。AppBarIcon

Logcat の出力の一部:


java.lang.RuntimeException: Unable to start activity ComponentInfo{com.craftmyspace/com.craftmyspace.activities.HomeActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter bitmap
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        ...os.ZygoteInit.main(ZygoteInit.java:858)


     Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter bitmap
        at androidx.ui.graphics.AndroidImage.<init>(Unknown Source:2)
        at androidx.ui.graphics.AndroidImageKt.imageFromResource(AndroidImage.kt:29)
        at androidx.ui.res.ImageResourcesKt$imageResource$1$1.invoke(ImageResources.kt:45)
        at androidx.ui.res.ImageResourcesKt$imageResource$1$1.invoke(Unknown Source:0)
        at androidx.compose.ComposerKt.remember(Composer.kt:1867)
        at androidx.compose.EffectsKt$memo$2.invoke(Effects.kt:287)
        at androidx.compose.EffectsKt$memo$2.invoke(Unknown Source:2)
        at androidx.compose.Effect.resolve(Effects.kt:106)
        at androidx.compose.Effect.resolve$default(Effects.kt:843)
        at androidx.compose.Effect.unaryPlus(Effects.kt:115)
        at androidx.ui.res.ImageResourcesKt$imageResource$1.invoke(ImageResources.kt:45)
        at androidx.ui.res.ImageResourcesKt$imageResource$1.invoke(Unknown Source:2)
        at androidx.compose.Effect.resolve(Effects.kt:106)
        at androidx.compose.Effect.resolve$default(Effects.kt:843)
        at androidx.compose.EffectsKt.unaryPlus(Effects.kt:841)
        at com.craftmyspace.activities.HomeActivityKt$home$1$1$1.invoke(HomeActivity.kt:66)

HomeActivity.kt:66 はこれ val menuIcon = +imageResource(R.drawable.ic_baseline_menu_24)

4

3 に答える 3

1

私の場合、 ic_chat_bubble リソースic_chat_bubble.xml(anydpi)からの削除を解決しましたが、問題なく動作しています。drawable

ここに画像の説明を入力

于 2019-11-08T17:03:49.240 に答える