You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose任务列表展开按钮失效问题求助

问题解决:Jetpack Compose任务列表展开按钮无效的修复

你的代码中**DescriptionIcon**组件的点击事件未正确触发状态更新,导致点击按钮仅切换图标但无法展开详情。问题出在IconButton的onClick参数设置上:

错误代码

IconButton(onClick = { onClick }) { ... }

这里只是引用了onClick函数对象,但没有执行它,点击按钮时不会触发expanded状态的切换逻辑。

修复后的代码

@Composable
private fun DescriptionIcon(
    expanded: Boolean,
    onClick: () -> Unit,
    modifier: Modifier = Modifier
){
    IconButton(onClick = onClick) { // 直接传递函数引用,或者写成{ onClick() }
        Icon(
            imageVector = if (expanded) Icons.Filled.ExpandLess else Icons.Filled.ExpandMore,
            tint = MaterialTheme.colors.secondary,
            contentDescription = stringResource(id = R.string.toggle_description) // 补充可访问性描述
        )
    }
}

修复说明

  • 将onClick = { onClick }改为onClick = onClick(直接传递函数引用),或者onClick = { onClick() }(在lambda中显式调用函数),这样点击按钮时会正确触发expanded状态的切换,进而显示/隐藏TaskDescription。
  • 补充contentDescription是为了符合Android可访问性规范,建议在strings.xml中添加对应的字符串资源。

内容的提问来源于stack exchange,提问作者mohamed ismail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:37:10