【问题标题】:Android Compose - application on tablets crashes when using a LazyColumnAndroid Compose - 平板电脑上的应用程序在使用 LazyColumn 时崩溃
【发布时间】:2021-06-13 21:27:37
【问题描述】:

java.lang.IllegalStateException:不允许在相同方向的布局中嵌套可滚动,如 ScrollableContainer 和 LazyColumn。如果您想在项目列表之前添加标题,请查看 LazyColumn 组件,该组件具有 DSL api,允许首先通过 item() 函数添加标题,然后通过 items() 添加项目列表。

在尝试使用 LazyColumn 时,此错误总是出现在平板电脑上。 LazyColumn 在手机上正常工作。即使 setContent 中的 Composable 函数仅包含 LazyColumn,也会出现错误。

Studio 构建:Android Studio 4.2 beta 6 / Canary 10
Gradle 插件版本:4.2.0-beta06 / 7.0.0-alpha10
Gradle 版本:6.8.3 / 6.8.2
Compose 版本:1.0.0-beta02(1.0.0-beta01 有同样的问题)

【问题讨论】:

  • 能否提供代码。
  • 检查您没有使用可滚动组件(即使用verticalScroller 修饰符或类似的)作为LazyColumn 的父级
  • @kugemi 你得到这个答案了吗?

标签: android kotlin android-jetpack-compose


【解决方案1】:

我遇到了同样的问题,@MR3YY 的评论解决了我的问题。我有一个lazyColumn:

LazyColumn(
    modifier = Modifier
        .fillMaxSize()
        .verticalScroll(rememberScrollState())
) {
    items(myDs){ dev ->
        deviceView(device = dev)
    }

}

并删除verticalScroll(rememberScrollState()) 修复了错误。

LazyColumn(
    modifier = Modifier
        .fillMaxSize()
) {
    items(myDs){ dev ->
        deviceView(device = dev)
    }

}

【讨论】:

  • verticalScroll 是怎么回事?我有同样奇怪的问题
猜你喜欢
  • 1970-01-01
  • 2017-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多