TextBox 的构造函数:
public TextBox(String title, String defaultText, int maxSize,i nt constraints){}
title:屏幕上方的标题
defaultText:默认显示的内容
maxSize:书上讲的是字符数。经过这次我感觉应该是字节数才对。(不知道自己的理解是不是正确如有错误请指正)
constructions是约束:是一些符号常量
今天做一个程序:输入框限制长度,设置为24 但是只能输入8个汉字 在模拟器上可以运行 但是到三星的一款手机上就会出项上述的情况。原来是中英文占的字节数不同。
下面是我在网上找到的一段代码:
运行结果:
GB2312 : 1
GBK : 1
GB18030 : 1
ISO-8859-1 : 1
UTF-8 : 1
UTF-16 : 4
UTF-16BE : 2
UTF-16LE : 2
-------------------------
GB2312 : 2
GBK : 2
GB18030 : 2
ISO-8859-1 : 1
UTF-8 : 3
UTF-16 : 4
UTF-16BE : 2
UTF-16LE : 2
这样解释就清楚了,三星的手机系统可能支持的是utf-16 一般的手机是支持ISO-8859-1的所以 输入的maxlegth没有问题。
遇到这样的机器就会有问题了。出来的结果不是自己想要的。
和同事商量后在
1.polish中加入了一个属性值。
2.在所有用到:中文输入&&需要控制长度 的情况 都是 length*chineseCharBytes这个参数就可以了
存储一个中文字符占的字节数 这样可以适应不同的手机了 遇见不符合的手机调节这个参数就行了