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

Jetpack Compose中Clickable Modifier点击无响应问题求助

问题分析与解决

你的代码存在两个关键问题,其中一个是导致点击事件完全没触发的核心原因:

1. Toast未执行显示操作

你调用了Toast.makeText()但没有链式调用.show(),所以即使点击触发,Toast也不会弹出。修正代码如下:

Toast.makeText(context, order.movie.id.toString(), Toast.LENGTH_SHORT).show()

2. 点击事件被子组件拦截(核心原因)

你给MovieListItem添加了外部的clickable,但如果MovieListItem内部包含默认消费点击事件的组件(比如Button、IconButton、TextField),或者内部自己设置了clickable Modifier,点击事件会被内部组件优先消费,外部的clickable就不会触发——这也是你连日志都没输出的原因。

解决办法:

  • 检查MovieListItem内部实现:移除内部不需要的点击事件拦截逻辑,或者将navigateToDetail和Toast逻辑移到MovieListItem的内部点击回调中。
  • 快速验证:临时把MovieListItem替换成简单的Text组件测试,比如:
    Text(
        text = order.movie.name,
        modifier = Modifier
            .clickable {
                navigateToDetail(order.movie.id)
                Toast.makeText(context, order.movie.id.toString(), Toast.LENGTH_SHORT).show()
            }
    )
    
    如果这样点击能正常触发,就能确定问题出在MovieListItem内部。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:35:05