我一直在为我的大学工作做一个Flutter项目。在我的项目中有一个创建项目页面,用户应该输入一些细节,包括项目名称,以继续创建。但是每当我尝试使用TextField输入一些文本时,应用程序就会将我带回主屏幕。请看下面的演示以供参考
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本身。但无论我做什么,错误总是不断重复。
你们能帮我搞清楚这是怎么回事吗非常感谢!
[Edit 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
1条答案
按热度按时间pkbketx91#
尝试删除Inkwell小部件。当你点击一个文本框时,你不必请求焦点。当您点击文本域时,文本域的焦点将自动聚焦。也许这就是导致错误的原因