如何禁用由 Flutter 中的 InkWell 包装的 CheckBox 中的点击检测

How to disable clicks detection in a CheckBox that's wrapped by an InkWell in Flutter

我有那4个Inkwell(),每个里面都有一个CheckBox()
InkWell()onTap: 属性 中,我分配了一个执行某些逻辑的未命名函数。
当我单击复选框时,不会调用父 InkWell 的 'onTap' 属性。

我想做的是,当我点击 CheckBox 时,父小部件 InkWellonTap 被调用,所以这就像禁用 CheckBox onChanged 属性,让它就像一个不可点击的小部件。

注意:通过将 null 分配给 CheckBoxonChanged 属性,小部件仍然吸收点击,因此 onTap 属性 of InkWell 没有被调用。

这是我的代码:

InkWell(
  onTap: () { /* DO SOMETHING */},
  child: Row(
    children: [
      SizedBox( /* The flag icon */ ),
      Text( /* The language name */ ),
      Checkbox(
        onChanged: null,
        value: (selectedLanguage == widget.id) ? true : false,
      )
    ],
  ),
)

您可以将 Checkbox 小部件包装在 IgnorePointer

IgnorePointer(
      child: Checkbox(
        value: selectedLanguage == widget.id,
        onChanged: (v) {
          // This won't get called
        },
      ),
    )