在原生的android2.2设置的设备键盘里面有自动大写与自动替换功能,把这些功能开启之后发现不起作用,于是测试部就提这个BUG,刚开始的时候发现确实不起作用,找了半天,终于在TextKeyListener.java里面修改了这行代码
//return QwertyKeyListener.getInstance(mAutoText, mAutoCap); //这是原生的
return QwertyKeyListener.getInstance(true, Capitalize.SENTENCES); //这是我加的
然后就可以起作用了,自动替换有一个xml-en/autotext.xml
<words>
20 <word src="abouta">about a</word>
21 <word src="aboutit">about it</word>
22 <word src="aboutthe">about the</word>
23 <word src="acheive">achieve</word>
24 <word src="acheived">achieved</word>
25 <word src="acheiving">achieving</word>
26 <word src="acomodate">accommodate</word>
27 <word src="accomodate">accommodate</word>
28 <word src="acn">can</word>
29 <word src="adn">and</word>
.......
只要是里面的这些单词就会自动替换掉(语言为英语)。
我以为这样改就没问题了,过了1个月,测试部提了一个BUG,在密码输入框也会自动替换和自动大写,这下我就蒙了,不知道怎么去改了。。。。
后来GOOGLE下发现EditText控件有这两个属性: "android:autoText" 、 "android:capitalize" ,只要这两个设为TRUE,自动替换和自动大写就会起作用。
然后就把几个月前改的代码还原回来了。。。。
看来改东西之前必须搞透这功能的作用,这样才不会做无用功。