首页 > 解决方案 > 键盘打开或关闭时 Flutter 页面重新加载

问题描述

我正在使用颤振处理聊天页面,因此页面结构是

Container(
      color: color,
      child: Column(
        children: <Widget>[
          Flexible(
            child: ScrollablePositionedList.builder(
              itemScrollController: _itemScrollController,
              itemPositionsListener: _itemPositionListener,
              initialScrollIndex: _messages.length - 1,
              padding: EdgeInsets.all(8.0),
              reverse: false,
              itemBuilder: (_, int index) => GestureDetector(
                behavior: HitTestBehavior.translucent,
                onTap: () {
                  print("tapped");
                  FocusScope.of(context).requestFocus(new FocusNode());
                },
                child: ChatMessage(
                  message: _messages[index],
                ),
              ),
              itemCount: _messages.length,
            ),
          ),
          Divider(
            height: 1.0,
          ),
          Container(
            padding: EdgeInsets.only(bottom: 32, left: 8, right: 8),
            decoration: new BoxDecoration(
              color: Theme.of(context).cardColor,
            ),
            child: _textComposerWidget(),
          )
        ],
      ),
    );

问题是当单击textFrom或键盘打开或关闭重新加载的页面时,我会丢失listView和 中的所有数据textForm()

标签: flutter

解决方案


需要更多信息,好像您正在使用 StatelessWidget 而不是 Stateful


推荐阅读