我试着在TextField中用onChange方法判断输入,但用TextEditingController光标替换文本后,移到了TextField的开头.

此问题仅在Android平台上出现.

Code

TextField(
controller: textEditController,
onChanged: (content) {
                    textEditController.text = checkNumber(content);
                  },)

flutter version

[✓] Flutter (Channel master, v1.2.2-pre.41, on Mac OS X 10.14.3 18D109, locale
    en-IR)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)

推荐答案

使用TextEditingController设置 Select

TextField(
controller: textEditController,
onChanged: (content) {
  textEditController..text = checkNumber(content)
                    ..selection = TextSelection.collapsed(offset: 0);
  },
)

Flutter相关问答推荐

如何在列表磁贴上添加行

如何刷新future 的构建器时,没有OBS变量的内部在Ffltter?

我可以在iOS设备上使用Ffltter实现Google Pay按钮吗?

为什么我的PIN字段在第一次打字时不显示数字?

Flutter 蜂窝-检索非基元数据类型列表

TextFormfield无法与自动路由一起正常工作

Flutter 文件拾取器Android SingleInstance模式它返回的文件路径为空

如何使 dart 函数变得通用?

Flutter如何从深入嵌套的小部件中打开抽屉?

Flutter应用无法上传到Microsoft Store

获取通过列表呈现的相同 TextEditingController 的值

无法将Null类型的值分配给 const 构造函数中List类型的参数

如何使Flutter 屏幕无法关闭?

如何解决需要一个标识符,但得到的是:.try 在:之前插入一个标识符.dart 错误

如何防止键盘将内容向上推?

如何显示从 MariaDB 获取的数据到列表视图

Flutter - 定义按钮的优雅方式

容器在发布模式下显示灰色框(抖动)

在 Android 12+ 中,REST API 调用在 flutter 中非常慢,在 WiFi 中需要 10 秒,而在移动数据中不到一秒

将容器扩展到安全区域 - Flutter