gpt4 book ai didi

android - 当我点击文本字段时,Flutter 页面会关闭

转载 作者:行者123 更新时间:2023-12-03 07:53:39 28 4
gpt4 key购买 nike

[最终更新 - 问题已解决]

我的一位亲爱的 friend ,Abhijith查看了 Suat 输入后的代码并指出我一直在主函数中使用 UniqueKey() 构造函数。

enter image description here

这使得每次状态发生变化并调用构建方法时,与基本应用程序关联的键都会不断变化,从而导致整个应用程序从主屏幕重建。

只需删除关键参数,或将 UniqueKey() 保存在关键变量中(如下所示),然后再将其传递给关键参数也可以实现此目的。

enter image description here

话虽这么说,我将此帖子标记为关闭,感谢大家付出的时间和精力🙏🏽。干杯!

[原帖]

我一直在为大学作业开发 Flutter 项目。在我的项目中有一个创建项目页面,用户应该在其中输入一些详细信息,包括项目名称以继续创建。但每当我尝试使用文本字段输入一些文本时,应用程序都会将我带回主屏幕。请看下面的演示供引用

Demonstration

Container(
margin: EdgeInsets.only(
left: 24 / 360 * ScreenConstants.screenWidth,
top: 25 / 360 * ScreenConstants.screenWidth,
),
alignment: Alignment.centerLeft,
child: Text(
"Project Name",
style: Theme.of(context).textTheme.titleMedium,
textAlign: TextAlign.left,
),
),
InkWell(
onTap: () {
_projectNameFocusNode.requestFocus();
},
child: TextFormField(
focusNode: _projectNameFocusNode,
controller: _projectNameController,
// Rest of your TextFormField configuration
),
)
],

这是有问题的代码。我尝试过单独使用 InkWell、GestureDetector 和 TextField。但无论我做什么,错误都会不断重复。

你们能帮我弄清楚这是怎么回事吗?非常感谢!

[编辑1]这是当控制流到页面外部时我得到的日志

I/ImeTracker( 9719): com.example.kaptur_alpha_v1:31b874ef: onRequestShow at ORIGIN_CLIENT_SHOW_SOFT_INPUT reason SHOW_SOFT_INPUT
D/InputMethodManager( 9719): showSoftInput() view=io.flutter.embedding.android.FlutterView{a6c6e42 VFE...... .F...... 0,0-1080,2154 #1 aid=1073741824} flags=0 reason=SHOW_SOFT_INPUT
D/InsetsController( 9719): show(ime(), fromIme=true)
D/EGL_emulation( 9719): app_time_stats: avg=42.17ms min=29.73ms max=57.70ms count=24
D/EGL_emulation( 9719): app_time_stats: avg=468.49ms min=1.20ms max=13982.47ms count=30

[编辑2]

包括不同状态下小部件树的屏幕截图。

Widget Tree in Home Screen

Widget Tree in New Project Page

Widget Tree after clicking on text field

[编辑3]

Suat 的观察是正确的。单击文本字段后,应用程序会因某种原因自行重建。 main 方法中包含的打印语句确认应用程序确实正在重建而不是重新启动。

此图显示了包含的测试代码和相应的输出。我相信输出表明应用程序自行重建了四次。 enter image description here

最佳答案

删除 ChangeNotifierProvider 中的 UniqueKey()。这将导致 Widget 的重建。

关于android - 当我点击文本字段时,Flutter 页面会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76552747/

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