Jetpack Compose LazyVerticalGrid 重组

时间:2021-05-24 10:04:06

标签: android android-jetpack-compose

我正在尝试在 Jetpack Compose 中创建一个 GridView 以显示设备中的所有图像。 我创建了一个包含照片的所有 URI 的 ArrayList。 问题是当应用程序暂停并添加或删除新照片时,我无法刷新我的视图......有任何想法吗?谢谢

 @Composable
    private fun CreateGrid(photos: ArrayList<Uri>,size:Dp) {
        LazyVerticalGrid(){
            items(photos.size) { index ->
                Box() {
                    Image(
                        painter = rememberCoilPainter(
                            request = photos[index]
                        ),
                        contentDescription = null,
                        modifier = Modifier
                            .clickable {
                                navController.navigate(
                                    route = "Somewhere"
                                )
                             }
                        contentScale = ContentScale.Crop
                    )
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

这完全取决于您选择的架构。

您可能在 setContent 中包含 onCreate,就像所有示例一样,但您不限制何时调用它 - 您可以在任何事件中调用它,在您的情况下为 onResume应该工作:

override fun onResume() {
    super.onResume()
    
    // get list of images
    setContent {
        // pass images to your compose view
    }
}