小编Anu*_*ngh的帖子

内联 fun 的计算参数内部不允许可组合调用

我正在尝试访问我的房间数据库的 dao 实例,该数据库用于存储名称(我编写此代码只是为了熟悉 jetpack compose)。

我尝试在可组合函数中访问我的 dao 实例,但给出了此错误 -> 内联乐趣的计算参数中不允许进行可组合调用 Remember(calculation: () -> TypeVariable(T)): TypeVariable(T)

我的代码

@Composable
fun HomeScreen(navController: NavController){
 var dao by remember{
     mutableStateOf(NameDatabase.getInstance(LocalContext.current).getDao())
 }
 var scope = rememberCoroutineScope()
 var username by rememberSaveable{ mutableStateOf("") }
 Column(
     modifier = Modifier.fillMaxSize(),
     horizontalAlignment = Alignment.CenterHorizontally,
     verticalArrangement = Arrangement.Center
 ){
     OutlinedTextField(value = username, onValueChange = {username=it})
     Spacer(modifier = Modifier.height(10.dp))
     Button(onClick = {
         navController.navigate("showScreen/$username")

     }) {
         Text("Submit")
     }
 }
}
Run Code Online (Sandbox Code Playgroud)

我在这条线上收到错误 mutableStateOf(NameDatabase.getInstance(LocalContext.current).getDao())

具体LocalContext.current就是给出这个错误。

PS:我已经解决了这个错误,但想知道这个错误的含义是什么以及为什么我无法记住里面的dao实例。

android kotlin android-jetpack-compose

4
推荐指数
1
解决办法
4826
查看次数

Horizo​​ntalArrangement 在 Jetpack Compose 中不起作用

我尝试过应用 SpaceBetween、SpaceEvenly 和 SpaceAround,但似乎没有任何效果。我的主要目标是将 iconButton 和文本放在同一行的开头和结尾。请不要参考我的 appbar 这样做,所以我只是想知道为什么这不起作用以及解决方法是什么?

在此输入图像描述

        Row(
            modifier = Modifier.padding(30.dp),
            horizontalArrangement = Arrangement.SpaceBetween
        ){

            Text(
                "NOTES",
                fontSize = 30.sp,
                fontWeight = FontWeight.Bold,
                color = Color.White
            )

            IconButton(onClick = { /*TODO*/ }) {
                Icon(
                    Icons.Filled.Search,
                    contentDescription = "Search",
                    tint = Color.LightGray
                )

            }

        }
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

4
推荐指数
1
解决办法
1467
查看次数

标签 统计

android ×2

android-jetpack-compose ×2

kotlin ×2