![](/img/trans.png)
[英]Android Compose cannot preview composable function in android studio “Rendering problem ”
[英]Android compose passing function into composable
我正在嘗試學習撰寫,並且正在切換工具欄以使用它,但我正在努力理解如何通過 function。
數據 class
data class ToolbarData(
val closeClick: (() -> Unit)? = null,
val title: Int,
val completeClick: (() -> Unit)? = null
)
可組合
@Composable
fun ComposeToolBar(toolbarData: ToolbarData) {
Row(verticalAlignment = Alignment.CenterVertically) {
Image(
painter = painterResource(id = drawable.ic_close),
contentDescription = stringResource(id = R.string.close_descrption),
Modifier.clickable { toolbarData.closeClick?.invoke() }
)
Text(text = stringResource(id = toolbarData.title))
Image(
painter = painterResource(id = drawable.ic_check),
contentDescription = stringResource(id = R.string.complete_descrption)
)
}
}
並預覽 function
@Preview
@Composable
fun PreviewToolbar() {
ComposeToolBar(toolbarData = ToolbarData(title = R.string.app_name))
}
如果我刪除
Modifier.clickable { toolbarData.closeClick?.invoke() }
構建得很好,並且它可以為空或不可為空,我得到了錯誤。
org.jetbrains.kotlin.backend.common.BackendException:后端內部錯誤:IR降低期間異常正在編譯的文件:/path 根本原因java.lang.NullPointerException被拋出:org.jetbrains.kotlin.backend.jvm.lower. inlineclasses.InlineClassAbi.getUnderlyingType(InlineClassAbi.kt:61)
原來我在將它添加到我的項目時遺漏了下面的內容。
composeOptions {
kotlinCompilerExtensionVersion = "1.0.1"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.