我正在跟着这个视频教程做(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))
}
}