Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 键盘打开或关闭时重新加载颤振页面_Flutter - Fatal编程技术网

Flutter 键盘打开或关闭时重新加载颤振页面

Flutter 键盘打开或关闭时重新加载颤振页面,flutter,Flutter,我正在使用flatter创建一个聊天页面,因此页面结构非常简单 Container( color: color, child: Column( children: <Widget>[ Flexible( child: ScrollablePositionedList.builder( itemScrollController: _itemScrollController,

我正在使用flatter创建一个聊天页面,因此页面结构非常简单

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(),
          )
        ],
      ),
    );
容器(
颜色:颜色,
子:列(
儿童:[
灵活的(
子项:ScrollablePositionedList.builder(
itemScrollController:\u itemScrollController,
itemPositionsListener:\u itemPositionListener,
initialScrollIndex:_messages.length-1,
填充:边缘设置。全部(8.0),
反面:错,
itemBuilder:(_,int index)=>GestureDetector(
行为:HitTestBehavior.transparent,
onTap:(){
打印(“抽头”);
FocusScope.of(context).requestFocus(newfocusnode());
},
孩子:聊天信息(
消息:_消息[索引],
),
),
itemCount:_messages.length,
),
),
分隔器(
高度:1.0,
),
容器(
填充:仅限边缘设置(底部:32,左侧:8,右侧:8),
装饰:新盒子装饰(
颜色:主题.of(上下文).cardColor,
),
子项:_textComposer小部件(),
)
],
),
);

问题是当点击
textFrom
或者当键盘打开或关闭重新加载的页面时,我丢失了
列表视图中的所有数据,并且
textForm()
需要更多信息,似乎您使用的是无状态小部件而不是有状态的需要更多信息,看起来你使用的是无状态小部件而不是有状态的

事实上这是我的问题,我在用android方式进行导航抽屉一个活动和碎片,并相应地在颤振中更改碎片,我在用抽屉做一个脚手架,这样更改脚手架的主体小部件会导致上述问题,我不知道为什么会出现这个问题因此,我通过导航到一个新页面或脚手架来解决它。如果你已经解决了这个问题,请将问题标记为“已关闭”,并将工作代码放在这里以帮助其他人。实际上,这是我的问题。我在用安卓方式进行导航抽屉一个活动和碎片,并相应地在颤振中更改碎片。我在用抽屉做一个脚手架,并进行更改scaffold的body小部件以这种方式导致上述问题,我不知道为什么会发生此问题,所以我通过导航到新页面或scaffold来解决此问题。因此,如果您已修复此问题,请将问题标记为已关闭,并将您的工作代码放在此处以帮助其他人