android - Flutter - InkWell 对 Flexible 内部的 onTap 没有反应

标签 android ios sqlite dart flutter

我想弄清楚,为什么我的 InkWell 中的 onTap() 方法不起作用。 InkWell 小部件位于 Flexible 小部件内。这个 Flexible 小部件也在里面

这是我的代码:

TextEditingController controller = new TextEditingController();

@override
void dispose(){
    super.dispose();
    controller.dispose();
}

@override
    Widget build(BuildContext context) {
      return Card(        
        child: Container(          
          child: Row(
            children: <Widget>[
              Flexible(                
                child: InkWell(
                  onTap: () => print("Search"), //Is not printing anything
                  child: TextField(                    
                    controller: controller,
                    decoration: InputDecoration(
                      border: InputBorder.none,
                      hintText: "Searching..."
                    ),                 
                  ),
                ),
              )
            ],
          ),
          decoration: BoxDecoration(
            borderRadius: BorderRadius.all(
              Radius.circular(8.0)
            ),
          ),
        ),     
      );
    }

我不知道如何解决我的问题。如果有人能够解决它,那就太棒了 XD。

最佳答案

IgnorePointer 包裹在 Inkwell 的子项中将解决这个问题:

Widget build(BuildContext context) {
    return Card(
      child: Container(
        child: Row(
          children: <Widget>[
            Flexible(
              child: InkWell(
                onTap: () => print("Search"), //Is not printing anything
                child: IgnorePointer(
                  child: TextField(
                    controller: controller,
                    decoration: InputDecoration(
                        border: InputBorder.none,
                        hintText: "Searching..."
                    ),
                  ),
                ),
              ),
            )
          ],
        ),
        decoration: BoxDecoration(
          borderRadius: BorderRadius.all(
              Radius.circular(8.0)
          ),
        ),
      ),
    );
  }

关于android - Flutter - InkWell 对 Flexible 内部的 onTap 没有反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52997295/

相关文章:

objective-c - self.TableView 不适用于 ViewController 内的 TableViewController?

ios - 当应用程序关闭时,在内存中保留一个 Firebase 监听器

android - 循环只重复一次而不是重复 Android 中的项目数

android IllegalStateException,数据库已经关闭

android - Android Manifest 中关于 Action MAIN 和 Category Launcher 的信息

android - 如何在android中计算设备级别的FPS

java - 更新Android Studio 3.2后,布局文件夹未显示layouts.xml文件

objective-c - iTunes U : "Developing Apps for iOS" Senseful to watch if having newer version?

sqlite - 使用 RSQLite 将列附加到 R 中的 SQLite 表

android - 将子文件夹添加到 android studio 1.0.2 中的 java 文件夹