gpt4 book ai didi

flutter - 如何为整个 child (除一个 flutter 中的选定 child )禁用点击事件?

转载 作者:行者123 更新时间:2023-12-03 04:42:51 26 4
gpt4 key购买 nike

场景:Listview.builder中有多个 child 。对于每个 child ,都有一个按钮可以调用TTS(文本到语音)。我想要在任何一个 child 被按下时休息,所有 child 都应在Listview.builder中不可单击,直到按下的 child 完成其TTS。
我从谷歌那里得到了答案,就像吸收指针,忽略指针来解决这个问题。
但我不知道如何使用这些小部件来实现上述方案。

最佳答案

bool存储在包含State的类的ListView.builder中。如果其中一个 child 当前正在执行其TTS,则应存储此bool。如果是true,则应将所有onPressed(或等效方法)都设置为null,以防止其他点击触发操作。例如:

bool hasBeenClicked = false;

void yourTTSMethod() {
setState(() {
hasBeenClicked = true;
});

... //Do normal method body

setState(() {
hasBeenClicked = true;
});
}

//In build method with each `List` item:
GestureDetector(//Just for sample, use whatever click detector you're currently using
onTap: hasBeenClicked ? null : yourTTSMethod
)

关于flutter - 如何为整个 child (除一个 flutter 中的选定 child )禁用点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62876716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com