openlang

显示 listOf 中的元素位置

我正在跟着这个视频教程做(https://www.youtube.com/watch?v=saKrGCWlJDs)。

class DirectoryActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()

        val contacts =
            listOf("Ellis", "Bran", "Ivo", "Miro", "Taren", "Keir", "Neris", "Aven", "Doran", "Fenn", "Kelan", "Orin", "Riven", "Soren", "Tolan")

        setContent {
            FernbankTheme {
                Scaffold(modifier = Modifier.fillMaxSize()) { insets ->
                    Welcome(
                        label = "Android",
                        modifier = Modifier.padding(insets)
                    )

                    LazyColumn {
                        items(contacts) {
                            ContactRow(label = it)
                        }
                    }
                }
            }
        }
    }
}

@Composable
fun Welcome(label: String, modifier: Modifier = Modifier) {
    Text(
        text = "Hello $label!",
        modifier = modifier
    )
}

@Preview(showBackground = true)
@Composable
fun WelcomePreview() {
    FernbankTheme {
        Welcome("Android")
    }
}

@Composable
fun ContactRow(label: String) {    
    Card(modifier = Modifier.fillMaxSize().padding(14.dp)) {
        Text(text = label, modifier = Modifier.padding(28.dp))
    }
}

我想实现的是下面这样。

在 ContactRow 里面,我还想显示(打印)“contacts” 列表里每一项的位置。

比如这样。

0 Ellis

1 Bran

2 Ivo

按照我对列表(数组)的理解,“Ellis” 的索引是 0,“Keir” 是 5,“Orin” 是 11。

@Composable
fun ContactRow(label: String) {
    //show the position for "label" to the left of "Text"
    Card(modifier = Modifier.fillMaxSize().padding(14.dp)) {
        Text(text = label, modifier = Modifier.padding(28.dp))
    }
}
从英语翻译查看原文

后续讨论 2

顺着彼此的依据读下去

同一个问题的其他角度

  1. 在 Java Mail 中显示发件人名称而非邮箱地址

    我通过 Java Mail API 发送消息。邮件到达后,收件箱显示的是发件地址。我想用一些文本替代这个地址。这应该是可以的,因为我收到的 facebook 邮件在收件箱里显示 "Facebook - Message title",而不是 "mail…

    回复 2最近活动 java
  2. 从 TypeScript 访问 Dynamics CRM

    我的 CRM 代码在网页资源中运行,所以要获取实体数据,就得写成 这样来读取数据。 可惜用 typescript 编写时,这个表达式无法编译。现在我手动把 window.parent 加到 Xrm.Page 前面……(Xrm 类型定义已经装好了),这…

    回复 2最近活动 typescript
  3. Gleam 的 HTTP 响应头需要怎样的日期格式?

    我想发送一个 Date 响应头。所需的格式如下。 这是我目前尝试的代码。

    回复 3最近活动 gleam