【发布时间】:2021-06-08 18:26:27
【问题描述】:
我想构建一个非常简单的演示。一个可以点击的按钮,它会计算点击次数。
代码如下:
class MainActivity : ComponentActivity() {
private var clicks = mutableStateOf(0)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Surface(color = MaterialTheme.colors.background) {
NewsStory(clicks.value) { onClick() }
}
}
}
private fun onClick() {
clicks.value++
}
}
@Composable
fun NewsStory(clicks: Int, onClick: () -> Unit) {
Column(modifier = Modifier.padding(8.dp)) {
Button(onClick = onClick) {
Text("Clicked: $clicks")
}
}
}
据我了解,每次单击按钮时都应重新组合,因为 clicks 已更改。
但它不起作用,任何想法我在这里做错了什么?
我在 androidx.activity:activity-compose:1.3.0-beta01,kotlin 1.5.10 并编写版本 1.0.0-beta08
【问题讨论】:
-
代码应该可以工作,尝试清理你的项目并重建它。
标签: android kotlin android-jetpack-compose