我试图实现浏览器类型的搜索栏,并使用文本字段在其中写入网址:

 TextEditingController _textcontroller;
  Widget searchbar() {
    return Container(
      child: Row(
        children: [
          Container(
            width: 230,
            child: TextField(
              controller: _textcontroller,
            ),
          ),
          GestureDetector(
            child: Icon(Icons.search),
            onTap: () {
              setState(() {
                print(_textcontroller.text);
                url = _textcontroller.text;
              });
            },
          )
        ],
      ),
    );
  }
我正在应用栏中使用此小部件将其放置在标题的位置,但是每当我按下搜索按钮时,文本都会返回null。
Scaffold(
      appBar: AppBar(
        title: searchbar(),
        actions: [
          NavigationControls(_controller.future),
        ],
我收到此错误:
getter'text'在null上被调用。
接收者:null
尝试致电:短信
有人可以帮我解决问题吗?

最佳答案

更改此:

TextEditingController _textcontroller;
对此:
TextEditingController _textcontroller=TextEditingController();

09-08 06:25