textfiled怎么显示java中_为什么Android在iOS上不能在TextField中显示正确格式的文本?...

最小代码:

import 'package:intl/intl.dart';

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: MyPage()));

class MyPage extends StatelessWidget {

final _controller = TextEditingController(text: "");

@override

Widget build(BuildContext context) {

return Scaffold(

body: Padding(

padding: const EdgeInsets.all(44.0),

child: Center(

child: TextField(

controller: _controller,

keyboardType: TextInputType.number,

onChanged: (string) {

string = string.replaceAll(RegExp(","), "");

string = _formattedString(string);

_controller.text = string;

_controller.selection = TextSelection.fromPosition(TextPosition(offset: string.length));

},

),

),

),

);

}

_formattedString(string) {

final format = NumberFormat.decimalPattern();

return format.format(int.parse(string));

}

}

[在Android和iOS上运行此代码,输入123456789之类的数字,在Android中,它会打印一些奇怪的序列,但在iOS中确实有效。谁能告诉我代码有什么问题吗?

Android输出

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9oOExhUS5naWYifQ==

iOS输出

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9xb3NOei5naWYifQ==

0

投票

将此添加到软件包的pubspec.yaml文件中:

依赖关系:flutter_masked_text:^ 0.8.0 创建蒙版控制器 将控制器设置为您的文本字段:

class MyPage extends StatelessWidget { var _controller = new MaskedTextController(mask: '000,000,000,00');

@override

Widget build(BuildContext context) {

return Scaffold(

body: Padding(

padding: const EdgeInsets.all(44.0),

child: Center(

child: TextField(controller: _controller)

)

)

);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值