Waf*_*_ck 6 android kotlin android-jetpack-compose
我有两个“喜欢”按钮的图标 -ic_thumb_up
和ic_thumb_up_selected
图标的类型应取决于offer.likedByUser
参数。
var thumbIcon by remember {
mutableStateOf(if (offer.likedByUser) R.drawable.ic_thumb_up_selected else R.drawable.ic_thumb_up)
}
IconButton(
onClick = {
offer.likedByUser = !offer.likedByUser
}
) {
Image(painter = painterResource(id = thumbIcon) )
}
Run Code Online (Sandbox Code Playgroud)
为什么它不起作用?
Fra*_*esc 13
这段代码
var thumbIcon by remember {
mutableStateOf(if (offer.likedByUser) R.drawable.ic_thumb_up_selected else R.drawable.ic_thumb_up)
}
Run Code Online (Sandbox Code Playgroud)
仅运行一次,并将值设置为thumbs_up_selected
或thumbs_up
。您没有更改处理程序mutableStateOf
中的onClick
,因此什么也没有发生。
你需要像这样改变它
var thumbIconLiked by remember {
mutableStateOf(offer.likedByUser)
}
IconButton(
onClick = {
thumbIconLiked = !thumbIconLiked
}
) {
Image(
painter = painterResource(
id = if (thumbIconLIked) {
R.drawable.ic_thumb_up_selected
} else {
R.drawable.ic_thumb_up
},
contenDescription = "thumb",
)
)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5935 次 |
最近记录: |