android - Jetpack Compose LazyColumn 文本消失

标签 android android-jetpack android-jetpack-compose android-jetpack-compose-list

这个问题在这里已经有了答案:





Jetpack Compose: LazyColumn does not render some items if animated scroll is interrupted and a new one is started

(1 个回答)


去年关闭。




我正在尝试 Jetpack Compose,但遇到了一个问题,列表中的所有文本在向上和向下滚动时都会消失
List before scrolling down
现在,当我向下滚动时,它会变成这样:
List after scrolling down
然后我再次向上滚动
List after scrolling up to the top
这是可组合的代码

val cityList = listOf<String>(
    "Los Angels",
    "New York",
    "São Paulo",
    "Rio de Janeiro",
    "San Diego",
    "Santa Monica",
    "Miami",
    "Orlando",
    "Tampa",
    "Denver"
)

Scaffold(topBar = {
    TopAppBar(
        title = { Text(stringResource(id = R.string.app_name)) },
    )
}) {

    LazyColumn(
        modifier = Modifier
            .fillMaxWidth()
    ) {
        items(cityList) { city ->
            Card(
                elevation = 8.dp,
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(start = 16.dp, end = 16.dp, bottom = 8.dp, top = 8.dp)
            ) {
                Row(verticalAlignment = Alignment.CenterVertically) {
                    Column(modifier = Modifier.padding(16.dp)) {
                        Row(
                            modifier = Modifier
                                .fillMaxWidth(),
                            horizontalArrangement = Arrangement.Center
                        ) {
                            Icon(
                                imageVector = Icons.Filled.LocationOn,
                                contentDescription = null,
                                modifier = Modifier.padding(end = 8.dp)
                            )
                            Text(text = "City $city")
                        }
                        Row(
                            modifier = Modifier.fillMaxWidth(),
                            horizontalArrangement = Arrangement.Center
                        ) {
                            Text(
                                text = "Weather"
                            )
                        }
                        Row(verticalAlignment = Alignment.CenterVertically) {
                            Column() {
                                Text(
                                    text = "Max Temperature 10c"
                                )
                                Text(
                                    text = "Max Temperature 10c"
                                )
                                Text(
                                    text = "Max Temperature 10c"
                                )
                            }
                            Icon(
                                imageVector =
                                Icons.Filled.Favorite,
                                contentDescription = null,
                                modifier = Modifier
                                    .padding(end = 8.dp)
                                    .fillMaxWidth()
                            )
                        }

                    }
                }
            }
        }
    }


}
谁能指出我做错了什么?

最佳答案

您使用的是哪个撰写版本?
看起来这是 beta07 上的一个问题,您可以在此处看到:
https://issuetracker.google.com/issues/188566058
我在 beta08 上检查了您的代码,似乎可以正常工作。

关于android - Jetpack Compose LazyColumn 文本消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67865199/

相关文章:

android - 以编程方式删除 AppWidgets

android - 如何杀死其他应用程序Android

java - Android Studio 通过枚举比较报告 "Unreachable Code"

android - 用android :rotation xml旋转一个按钮

android - Jetpack Compose Prop 输入

drop-down-menu - DropDownMenuItem 在 Android jetpack compose 中无法正常工作

java - 如何在多个 Activity 中使用 ViewModel 和 LiveData 观察者?

android - 使用 View 绑定(bind)访问另一个 Activity 的 UI 元素

android - 将可组合高度调整为与宽度相同

Kotlin Jetpack Compose DragGesture 属性取消我的 View 的滚动