【问题标题】:Jetpack Compose general item in LazyColumnLazyColumn 中的 Jetpack Compose 常规项目
【发布时间】:2021-11-30 16:27:54
【问题描述】:

在下面的代码中,我有两个部分 A 和 B。我需要提取部分 B 作为我更多页面的公共部分。
但是它包含item,我无法提取item,但是item必须包含在if判断中,因为paging3会滚动到顶部以获得额外的item

有没有办法提取item

LazyColumn(Modifier.fillMaxSize()) {
    // Part A
    items(pagingItems) { wind ->
        WindRow(navController, wind!!)
    }

    val refresh = pagingItems.loadState.refresh
    val append = pagingItems.loadState.append

    // Part B
    if (refresh is LoadState.NotLoading && append is LoadState.NotLoading) {
        if (pagingItems.itemCount == 0) {
            item {
                PosterCompose() {
                    navController.navigate("blowWind")
                }
            }
        }
    } else {
        item {
            LoadStateView(path = FOLLOW_WIND_LIST, refresh = refresh, append = append) {
                pagingItems.retry()
            }
        }
    }
}

【问题讨论】:

    标签: android kotlin android-jetpack-compose


    【解决方案1】:

    我解决了这个问题

    fun <T : Any> LazyListScope.newItems(pagingItems: LazyPagingItems<T>) {
    
        val refresh = pagingItems.loadState.refresh
        val append = pagingItems.loadState.append
    
        if (refresh is LoadState.NotLoading && append is LoadState.NotLoading) {
            if (pagingItems.itemCount == 0) {
                item {
                    PosterCompose() {
    
                    }
                }
            }
        }else{
            item {
                LoadStateView(path = FOLLOW_WIND_LIST, refresh = refresh, append = append) {
                    pagingItems.retry()
                }
            }
        }
    
    }
    
    

    这是怎么用的

    LazyColumn(Modifier.fillMaxSize()) {
    
                items(pagingItems) { wind ->
                    WindRow(navController, wind!!)
                }
    
                newItems(pagingItems)
            }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-04
      • 1970-01-01
      • 2021-06-01
      • 2021-03-11
      • 2022-09-26
      • 2022-07-29
      • 2021-12-28
      • 1970-01-01
      相关资源
      最近更新 更多